什么是package与预备检查操作
package是为了组织好自己的代码,方便复用一些常用函数而创建
使用前,首先确认自己的GO111MODULE为auto,这个通过命令行输入以下代码进行查看:
go env
auto表示go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:
当前目录在GOPATH/src之外且该目录包含go.mod文件
当前文件在包含go.mod文件的目录下面。
如果不是auto的话,通过命令进行修改
go env -w GO111MODULE=auto
这里再解释一下golang的环境变量中几个含义
GOROOT:Go 语言安装根目录的路径,也就是 GO 语言的安装路径。
GOPATH:若干工作区目录的路径,也就是我们自己定义的工作空间
GOPROXY:给go安装第三方包设置代理用的
如果一开始安装语言过程中,这些项设置的有问题,也到导致后续使用收到影响,具体设置可以参照保姆级教程自行设置,直接看2.3部分
书写自己的package
每个可执行的Go应用程序都包含main,package packagename指定一个指向packagename包的特定源文件,eg:learnpackage
创建好一个大文件夹后,在终端进入该文件夹
cd ~/learnpackage/
然后输入下面的初始化mod
go mod init learnpackage
然后尝试输入
go install
之后在终端输入learnpackage,就可以显示输出
在learnpackage中创建一个文件夹test,里面的所有文件均以此package test开头,属于test软件包
在文件夹内创建一个test.go,此时的文件结构如下所示:
├── learnpackage
│ ├── go.mod
│ ├── main.go
│ └── test
│ └── test.go
在test中创建自己的函数,比如加和Cal,这里函数名必须大写,这样才可以被外界访问到。
此时在main中访问该函数时,import 中加入 “./test”后即可以调用Cal函数