“这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天
2.11 基础语法 指针
- 传入地址&可以改变原变量的值
2.12 基础语法 结构体
结构体是带类型字段的集合;
初始化,可以构造传入每个字段初始值,可以键值对方式指定初始化,部分初始化;
结构体也支持指针,&取地址;
2.13 基础语法 结构体方法
(结构体)声明为结构体方法;
实现结构体方法有两种写法,带指针/不带指针;
带指针可以修改结构体,不然操作的是拷贝,不能对结构体修改;
2.14 基础语法 错误处理
- 在函数实现中使用一个单独的返回值传递错误信息;
- 出现错误,返回nil+error;
- 没有错误,返回结果+nil;
2.15 基础语法 字符串操作
标准库strings包里面有很多常用字符串工具函数,
比如contains判断一个字符串里面是否包含另一个字符串,count计数,index查找某个字符串位置,join连接多个字符串,repeat重复多个字符串,replace替换字符串;
2.16 基础语法 字符串格式化
println是打印多个变量,并换行;
go语言中,可以使用%v打印任意类型变量,不需要区分;
%+v打印详细结果,%#v则更详细;
2.17 基础语法 JSON处理
go语言中JSON操作非常简单,对于已有结构体,只要保证每个字段第一个字母是大写;
就是公开字段,那么结构体可以用JSON.Marshal去序列化,变成一个JSON字符串;
序列化后字符串,使用JSON.Unmarshal去反序列化到一个空变量;
2.18 基础语法 时间处理
- go最常用,time.now()获取当前时间;
- now.Unix()获取时间戳;
2.19 基础语法 数字解析
- 字符串与数字类型转换,strconv包下;(string convert);
2.20 基础语法 进程信息
- 使用os.argv得到程序执行时候指定的命令行参数;