----------------------------------------- error 使用 (异常处理)

// 语法   (普通错误)
import "errors"
func funName(paratemer) (result int, err error) {
err = errors.New("自定义错误信息")
}

----------------------------------------- panic 使用 (异常处理)

// 语法   (致命错误)
panic("自定义错误信息") // 直接中断应用程序
// 比如数组越界、空指针异常都是 go 内部实现的 panic 函数

----------------------------------------- recover 使用 (异常处理)

// 语法      (恢复错误)
// recover 必须放在 defer 后面使用
defer func() {
// recover()
if err := recover(); err != nil { // 产生了panic异常
fmt.Println(recover())
}
}() // 注解:defer 方法执行完成后执行、 ()默认调用匿名函数

----------------------------------------- 字符串处理

// 方法
// 基础操作:
// Contains / Join / Index / Repeat / Repalce / Split / Trim / Fields
// 转换:
// Append / Format / Parse

----------------------------------------- regexp 正则表达式

import "regexp"

func main() {
buf := "0.2 456 asdx 1.233 7. 8.99 aloong 6.66" reg := regexp.MustCompile(`\d+\.\d`)
if reg == nil {
// ... error
return
} result := reg.FindAllString(buf, -)
// print result
result = reg.FindAdllStringSubmatch(buf, -)
}

----------------------------------------- json 的使用 (结构体转JSON)

import (
"encoding/json"
"fmt"
)
// 根据结构体转换 JSON
type IT struct {
Company string
/*
// struct_tag 的使用,语法:
Company string `json:"company"` // 二次编码
Company string `json:"-"` // -代表该字段不会输出到屏幕
IsOK bool `json:",string"` // 转string
*/
Subjects []string
IsOK bool
Price float64
} func main() {
s := IT{"it", []string{"C#", "java", "python", "go"}, false, 666.66} //buf, err := json.Marshal(s)
buf, err := json.Marshal(s, "", " ") // 格式化编码
if err != nil {
// print err
return
} fmt.Println(string(buf))
}

----------------------------------------- json 的使用 (map转JSON)

func main() {
m := make(map[string]interface{}, ) // interface{} 万能数据类型
m["company"] = "loongsoft" result, err := json.MarshalIndent(m, "", " ")
// println(string(result))
}

----------------------------------------- json 的使用 (JSON转结构体)

func main() {
var tmp IT
json.Unmarshll([]byte(jsonValue), &tmp)
// print tmp
}

----------------------------------------- IO 操作 文件

// Create / NewFile / Open / OpenFile
// ... documents

C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 05)的更多相关文章

  1. C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 06)

    ----------------------------------------- go 并发 // 注解:go 语言天生为程序并发所设计,可以说go的强项就是在cpu并发上的处理. // go 语言 ...

  2. C#/Java 程序员转GO/golang程序员笔记大全(day 01)

    前言: 整理一下学习 Go 语言的笔记,作为一名老程序,学习一名新的开发语言自然不需要像小白那样从 HelloWorld 看起. 简单整理一下 Go 的一些差异处,希望对大家学习 go 有点帮助,不正 ...

  3. C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 00)

    一.安装说明 https://studygolang.com/dl 二.环境变量 // 下载 *.msi 安装文件,部分环境变量默认配置好了. 其他配置如下描述 三.目录及项目层级关系 在系统环境变量 ...

  4. C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 04)

    -------------------- interface 接口 // 定义: type IHumaner interface { SayHi() // 接口中只能是方法声明,没有实现,没有数据字段 ...

  5. C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 03)

    go语言当中,没有 class 的概念,那么面向对象的编程思想如何展现呢,go语言中对结构体的使用 struct. package main import "fmt" type P ...

  6. C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 02)

    ------------------- 指针 go 保留的 c 语言指针的操作,同时增加了自动垃圾回收机制 var a = new(int) *a = // &a 内存地址 --------- ...

  7. PHP笔记——java程序员看懂PHP程序

    PHP笔记——java程序员看懂PHP程序   php是一种服务器端脚本语言,类型松散的语言. <?php   ?>       xml风格 <script language=”ph ...

  8. 使用 Java 开发兼容 IPv6 的网络应用程序

    根据现有 IPv4 地址的部署速度,剩余的地址将在 10 到 20 年被使用殆尽.因此网络逐渐从 IPv4 向 IPv6 转换是不可避免的,相应的各种网络应用程序都将支持 IPv6.对于 Java,从 ...

  9. StackOverflow程序员推荐:每个程序员都应读的30本书

    “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...

随机推荐

  1. css 自定义滚动条

    我遇到的场景: 对于iframe窗口,自带滚动条是整个窗口的大小.有时需要顶部或底部固定,则滚动条不应该触碰到顶部或底部. 那么首先打开iframe时应该去掉滚动条 scrolling="n ...

  2. javascript 对象 原型 prototype

  3. JVM内存分配原理

    堆栈常量池等内存分配原理详解 存储的方式: 寄存器 栈(stack) 堆(heap) 静态域 常量池 非RAM存储 JAVA寄存器 最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.  ...

  4. 3.1.7. Cross validation of time series data

    3.1.7. Cross validation of time series data Time series data is characterised by the correlation bet ...

  5. JAVA垃圾回收机

    垃圾回收基本算法 串型回收和并行回收 串行回收始终在一个CPU上执行回收操作.并行回收则将回收任务分为好几步,每步使用不同的CPU执行,这样加快了执行速度,有点像流水线作业. 并发执行和暂停应用程序 ...

  6. 让boost.variant支持lambda表达式访问

    前言 之前写个过一篇博客叫<浅谈boost.variant的几种访问方式>,里面讲到了可以通过访问者方式来获取variant的值,但是在重载函数operator()里面只能够获取varia ...

  7. PHP之PDO_MYSQL扩展安装步骤

    转载地址:http://www.cnblogs.com/qq78292959/p/4084868.html 看到CakePHP文档要求安装pdo_mysql扩展,于是就尝试安装了一下. 这里我的系统是 ...

  8. 20145322《Java程序设计》第5次实验报告

    20145322<Java程序设计>第5次实验报告 实验内容 1.根据所学内容,编写代码实现服务器与客户端 2.掌握密码技术的使用 3.设计安全传输系统,客户端中输入明文,利用DES算法加 ...

  9. [翻译]小提示:使用figure和figcaption元素的正确方式

    figure和figcaption是一对经常被一起使用的语义化标签.如果你还没有看过规范中的定义,现在有机会在你的项目中使用它们了.如果你不知道怎么用,下面是关于如何正确使用它们的一些提示. figu ...

  10. linux下tar的使用方法

    1.仅打包 tar -cvf hello.tar hello (输出文件大小为10240) 2.打包后压缩成gzip压缩格式 tar -czvf hello.tar.gz hello (输出文件大小为 ...