这本书的第二章是对golang程序的简单梳理,实践的内容并不多,但是讲述了很多细节。主要内容是变量的命名、25个关键字、声明、短变量声明、指针、new函数、变量声明周期及作用域、赋值、类型定义、包和文件、包初始化等。
这里需要注意的有以下几点:
- 如果函数名、变量名首字母大写,那么它就是可导出的,意味着它可以被这个包内的其他变量所访问,甚至可以被别的包而访问。
- flag包在处理命令行参数时是神器
- 思考一下new和make的区别,以及什么样的变量会在栈上开辟空间,什么会在堆上开辟空间?
- GC: Garbage Collect,golang具备良好的GC功能
- 为了提高程序的性能,有时需要从变量的生命周期来考虑
- golang没有++i
- 即使两个变量它们的本质相同,例如都是int,但如果是不同的named type,它们依然无法进行比较
- 很多类型都声明了一个String方法,为了方便被fmt包按照string所输出
- 导入包初始化的顺序跟它们导入的顺序是一致的