这是我参与「第五届青训营 」伴学笔记创作活动的第2天。 今天主要学习了go语言的进阶和依赖管理。总的来说,这节课的内容虽然难度不低,但是老师讲的还是比较通俗易懂的,所以我也基本理解了概念。 在这节课上,有关go语言的进阶部分,主要是讲解了go语言里协程&线程、channel(通过通信实现共享和通过共享实现通信)、并发安全的相关内容;而有关go语言的依赖管理,主要是讲解了go依赖管理的演进(gopath到govendor到gomodule),gopath的相关内容(bin/src/pkg,其中bin是编译的二进制文件,pkg是编译的中间产物,可以加速编译,src是工程源码,依赖的包可以直接下载进入src文件夹内),由于gopath存在一个弊端(即不能实现package包的版本控制),提到了govendor(因为govendor可以通过在目录下创建一个vendor文件夹,将依赖包的副本放在其中,从而解决gopath的package版本依赖问题),而govendor又存在下图所示的一个问题,所以需要gomodule。
gomodule能解决问题的关键,是解决了对于依赖的版本号的管理。由此可以得出go依赖的三要素:(如下图所示)
最后,稍微讲解了一下gomodule的相关配置。 感觉本部分还是比较容易理解的。 这篇笔记并没有引用别的文章或者内容,截图来自课堂视频。