画布 1
go
  go 组织包结构
    GOROOT
      Go 语言安装根目录的路径，也就是 GO 语言的安装路径
    GOPATH
      若干工作区目录的路径。是我们自己定义的工作空间
    GOBIN
      GO 程序生成的可执行文件（executable file）的路径，若设置GOBIN，命令源码文件install后文件在GOBIN下生成二进制文件，若未配置则生成至GOPATH/bin目录下
  结构
    pkg
      归档文件 .a
    src
      源码目录
    bin
      可执行二进制文件
  源码文件
    命令源码文件
      作为可执行的程序的入口
    库源码文件
      用于集中放置各种待被使用的程序实体（全局常量、全局变量、接口、结构体、函数等等）
    测试源码文件
      主要用于对前两种源码文件中的程序实体的功能和性能进行测试。另外，后者也可以用于展现前两者中程序的使用方法。
  命令
    build
      无命令源码文件时build
        go build命令在编译只包含库源码文件的代码包（或者同时编译多个代码包）时，只会做检查性的编译,并将产生的结果文件只会存在于临时目录中，而不会在该目录、pkg、bin目录输出结果文件
      存在命令源码文件build
        编译我们指定的源码文件或代码包以及它们的依赖包，在当前目录生成可执行的二进制文件
      命令详解
        -a
          运行go build命令的时候，默认不会编译目标代码包所依赖的那些代码包，添加-a后 依赖的代码包也总会被编译，即使依赖的是标准库中的代码包也是如此
        -i
          不但要编译依赖的代码包，还要安装它们的归档文件
        -x
          在执行编译时，列出具体的操作
        -n
          只查看操作，而不执行
        -v
          看到go build命令编译的代码包的名称
    install
      无命令源码文件
        在pkg目录下生成归档文件
      存在命令源码文件
        在$GOPATH/bin目录下生成可执行文件
    get
      git clone + install
        由于一般get的均为库源码文件，所以只会在pkg目录下生成归档文件，不会在bin目录下生成可执行文件
      命令详解
        -u
          下载并安装代码包，不论工作区中是否已存在它们
        -d
          只下载代码包，不安装代码包
        -fix
          在下载代码包后先运行一个用于根据当前 Go 语言版本修正代码的工具，然后再安装代码包
        -t
          同时下载测试所需的代码包
        -insecure
          允许通过非安全的网络协议下载和安装代码包。HTTP 就是这样的协议