0%

golang从入门到放弃

前言

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。

包管理 Go Mod

go modules 是 golang 1.11 添加的新特性(默认关闭),在1.11之前的版本中,针对于第三方库的引用,直接讲对应的库文件放在GOPATH环境变量下即可,故通常会设置一个系统全局的GOPATH以及一个或者多个工程的GOPATH。但是在引入了go modules以后,就直接通过go.mod文件(该文件不能存在与GOPATH环境变量中)来进行第三方库的管理,同时需要设置环境变量GO111MODULE=on来开启go modules, 通过go get命令下载的所有库都会自动托管到go.mod文件中。

注意goland中会遇到无法解析import进来的包,但是程序又能正常运行的情况,该种现象的出现就是两种包管理方式混乱了,直接采用go.mod文件这种方式对第三方包进行管理即可。如果包下载慢或者部分包无法下载的情况,参考另一篇文章设置代理即可。