先贴上项目结构
三个环境变量的配置。
- GOROOT:Go 安装后的根目录(例如:D:Program FilesGo),安装过程中会由安装程序自动写入系统环境变量中。go语言自带的类库。
- GOBIN:Go 的二进制文件存放目录(%GOPATH%in),这里注意。否则后面go install 不会成功
- PATH:需要将 %GOBIN% 加在 PATH 变量的最后,方便在命令行下运行。
GOPATH : Go 的工作空间(例如:我们的开发目录 f:worksGolang)。工作空间的概念搞清楚。用户源代码目录。
工作空间是一个目录层次结构,其根目录包含三个子目录:
- src:包含 Go 源文件(例如:.go、.c、.h、.s 等)
- pkg:包含包对象,编译好的库文件(例如:.a)
- bin:包含可执行命令(为了方便,可以把此目录加入到 Windows 的 PATH 变量中,在环境变量 PATH 后追加 %GOPATH%in)
go run go build go install区分:https://www.jb51.net/article/56765.htm
可能会遇到的问题:https://www.golangtc.com/t/540942e9320b527a3b000111
需要注意的是我在goland里go install时,main包在bin先生成exe可执行文件,其他包生成的是在pkg下的.a文件
说明:参考https://studygolang.com/articles/10572
简单解释下
看这张图
什么是命令源码文件:如果一个源码文件声明属于main包,并且包含一个无参数声明且无返回值声明的main函数,那么他就是命令源码文件
参考:https://www.jianshu.com/p/9266df1aa641
也就是说我们的程序入口,即上图项目目录中的main包输入命令源码文件,因此go install时生成的是可执行文件并置于bin中