求剧情
Go语言学习笔记 · 第八节

《Go语言学习笔记》第八节

本节先讲标准库sync中Mutex、RWMutex的使用要点:作为匿名字段时方法须用指针接收者,否则复制会使锁失效;锁粒度应尽量小、及早释放;不支持递归锁……

本节先讲标准库sync中Mutex、RWMutex的使用要点:作为匿名字段时方法须用指针接收者,否则复制会使锁失效;锁粒度应尽量小、及早释放;不支持递归锁,同goroutine内重入会死锁。

随后介绍工作空间与包管理:工作空间由src、bin、pkg组成,通过GOPATH设置搜索路径,GOROOT指向工具链位置,GOBIN指定安装目录;导入包用以src为起点的绝对路径,也支持相对路径(仅限非工作空间场景)。包是同目录源码文件的集合,作为名字空间,包名与目录名无关;首字母大写才可导出,初始化函数由编译器统一调用、次序不固定,不应依赖其顺序。internal目录下的包仅限父目录访问,vendor目录用于存放第三方包,查找时从源文件所在目录逐级向上匹配。最后引入反射,说明其信息来自接口变量,并区分Type(静态类型)与Kind(底层类型类别)。

‹ 上一章目录下一章 ›

全部 17 章