「 后端与 Go语言基础–基础语法 | 青训营笔记」
这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
下面的笔记内容记录着自己在学习课程中遇到的疑问以及学完课程后还能回想起的一些特殊记忆点
Go有什么优点
- 高性能、高并发
- 语法简单、学习曲线平缓
- 丰富的标准库
- 完善的工具链
- 静态链接
- 快速编译
- 跨平台
- 垃圾回收
特殊的日期格式化要求:2006-01-02 15:04:05
t := time.Date(2022, 3, 27, 1, 25, 36, 0, time.UTC) t.Format("2006-01-02 15:04:05") t3, err := time.Parse("2006-01-02 15:04:05", "2022-03-27 01:25:36")这个时间组合似乎是 Go 语言开发者特别设计的,据说这么设计的目的是解决大家记忆问题(按 ANSIC 标准的日期格式2333)
1 2 3 4 5 6 7 月 日 时 分 秒 年 MST 时区 1 月 2日 下午3时(15) 4分 5秒 2006年
nil 标识符
- 在Go语言中,布尔类型的零值(初始值)为 false,数值类型的零值为 0,字符串类型的零值为空字符串
"",而指针、切片、映射、通道、函数和接口的零值则是 nil。- nil 是Go语言中一个预定义好的标识符,有过其他编程语言开发经验的开发者也许会把 nil 看作其他语言中的 null(NULL),其实这并不是完全正确的,因为Go语言中的 nil 和其他语言中的 null 有很多不同点。
- nil 标识符是不能比较的
- nil 不是关键字或保留字
- nil 没有默认类型
- 不同类型 nil 的指针是一样的
- 不同类型的 nil 是不能比较的
- 两个相同类型的 nil 值也可能无法比较
- nil 是 map、slice、pointer、channel、func、interface 的零值
- 不同类型的 nil 值占用的内存大小可能是不一样的
字符串处理
strconv包- 字符串转数字:strconv.Atoi()
- 数字转字符串:strconv.Itoa()