接上期:Go语言学习(3),安装Git如何避免入坑?
这个坑导致以前的很多Go教程失效,以前版本go教程都是直接使用go get 命令把代码库下载到gopath\src\github.com\......下面的路径中。
我们当前使用的新版本是Go1.16
在 v1.11 中加入了 Go Module 作为官方包管理形式。module是一个相关Go包的集合,它是源代码更替和版本控制的单元。模块由源文件形成的go.mod文件的根目录定义,包含go.mod文件的目录也被称为模块根。moudles取代旧的的基于GOPATH方法来指定在工程中使用哪些源文件或导入包。模块路径是导入包的路径前缀,go.mod文件定义模块路径,并且列出了在项目构建过程中使用的特定版本。
第1步:打开mod开关:使用命令行:go env -w GO111MODULE=on
表示设置Go1.11版本的MODULE模式开关状态为ON
第2步:创建一个work工程
手工创建d:\gopath\src\test目录,这个test目录就是我们预设的一个具体工程目录,也可以设置其他名称。这个test在Go中称为一个package.
知识点:package包:1.注意在GO中一个具体的目录称为一个package包,强烈建议目录名和package包一致,否则容易出问题
2.每个子目录中只能存在一个package,否则编译时会报错
3.go的package是以绝对路径GOPATH来寻址的,不要用相对路径来import
初始工程实例:在d:\gopath\src\test路径下使用命令:go mod init test
表示在test目录中创建mod.
使用完成后查看d:\gopath\src\test路径下会新生成两个文件:
go.mod文件:内容类似这样的(共两行)
module test
go 1.16
再使用命令:go get github.com/360EntSecGroup-Skylar/excelize/v2
现在go.mod文件内容变成了三行:
module test
go 1.16
require github.com/360EntSecGroup-Skylar/excelize/v2 v2.3.2 // indirect
后来我将依据这个test工程包来做些入门小示例