先贴上项目结构

三个环境变量的配置。

  • 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

需要注意的是我在goland里go install时,main包在bin先生成exe可执行文件,其他包生成的是在pkg下的.a文件

简单解释下

看这张图

什么是命令源码文件:如果一个源码文件声明属于main包,并且包含一个无参数声明且无返回值声明的main函数,那么他就是命令源码文件

也就是说我们的程序入口,即上图项目目录中的main包输入命令源码文件,因此go install时生成的是可执行文件并置于bin中