🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 下载 [golang官网][1] [golang国内][2] ## 解压 直接解压到相应目录 > 推荐安装目录 `/ust/local/go` ## linux下的环境变量设置 ### GOROOT 该环境变量表示go语言的安装目录 ~~~ export GOROOT=/usr/local/go ~~~ ### GOPATH 该环境变量表示go语言工作区的集合 #### 工作目录下的目录设置 ~~~ src 存放源码 在同级别目录下包名相同;在不同包中首字母大写的函数才是全局函数 package 用来导入包名(目录名),引用时使用的是实际的包名和函数名 pkg 存放归档文件 (以 .a 为后缀的文件) bin 存放编译后的可执行文件目录 当环境变量中设置了GOBIN,该目录无意义 当GOPATH中设置了多个工作区,必须设置GOBIN,否则无法安装GO程序的可执行文件 ~~~ ### GOBIN 存放编译后的可执行文件目录 ### 系统环境变量PATH 将go/bin 加入`PATH` ## 源码文件 ### 命令源码文件 声明自己所属的main代码包,包括无参数声明和结果声明的main函数 命令源码文件是go程序的入口 ### 库源码文件 不具备上面特征的源码文件 ### 测试源码文件 名称以`_test.go`为后缀 其中至少有一个函数名称以Test或Benchmark为前缀,并且该函数接受一个类型为 `*testing.T` 或者`*testing.B` 的参数 ![](https://gitee.com/echohiyang/markdown-images/raw/master/1QmD6l.jpg) ## 代码包 代码包是编译和归档Go程序的最基本单位 ### 代码包的声明 package xxx 源码文件必须声明所属代码包 同一代码包中所有源码文件代码包的声明应该是相同的 ## go run 直接运行程序 ~~~ -a 强制重新编译 -n 打印编译过程中所需的命令,但不真正执行 -x 打印编译过程中所需的命令 -p n 并行的编译数量 -v 列出被编译的代码包名称 -work 显示并保留临时工作目录 ~~~ ## go build 编译 ~~~ -a 强制重新编译 ~~~ 编译命令源码文件,默认只会编译归档文件不是最新的的代码包 hyper-carror/gopcp.v2 ## go install 用于编译并安装代码包或源代码文件 `安装代码包`会在当前工作区的 'pkg/<平台相关目录>'下生成'归档文件' `安装命令源码`文件会在当前工作区的'bin'目录或 $GOBIN 目录下生成'可执行文件' ## go get ~~~ -d 只下载,不执行安装 -fix 老版本向新版本修正 -u 更新本地的代码包 ~~~ [1]:https://golang.org [2]:https://golangtc.com/download