Go初体验:环境变量与基本命令

258 阅读2分钟

Go的环境变量

GOPATH

一个存储源码文件的目录,代表Go语言项目的工作目录,存放go get命令获取的项目。

可以做如下实验:执行

go get -d github.com/labstack/echo

如果下载慢的话,建议搜索相关资料,使用代理或者镜像仓库下载

其中-d参数表明只是执行下载操作,而不执行安装操作。安装成功之后找到本地的GOPATH路径

go env GOPATH

进入到GOPATH之后,查看目录结构,发现存在github.com/labstack/echo路径的子目录

GOBIN

正如其名字所言,bin也是binary代表Go编译生成的程序的安装目录。使用go install命令会把生成的Go程序二进制文件安装到GOBIN目录下,供终端Shell直接去使用

GOROOT

是Go语言安装的根目录,查看GOROOT路径

go env GOROOT

在MacOS下默认是/usr/local/go

GOARCH

代表要编译的目标处理器的指令集架构,如

  • 386
  • AMD64
  • ARM64

GOOS

代表要编译的目标操作系统,例如

  • Linux
  • Windows
  • Darwin

创建Go语言项目

可以使用 go mod init来快速的在当前文件夹中创建项目基本结构,注意当前文件夹也是需要在GOPATH下的,其会创建一个go.mod文件来对模块进行管理。

Go源码组织形式

  1. Go是以包为基本代码组织单位的,一般情况下代码包和目录是一一对应的,因此代码包有子包
  2. 如果与目录不同名,以代码包名为主,如package main
  3. 在使用import的时候,导入路径实际上就是从src子目录到该包实际存储位置的相对路径。

go get命令其他参数

  1. go get 命令可以借助代码管理工具通过远程拉取或更新代码包及其依赖包,并自动完成编译安装
  • 之前用过的-d参数是只下载不安装
  • -u参数强制(不论工作区中是否已经存在)使用网络去更新包和它的依赖包
  • -t 下载并测试代码包
  • -insecure 允许通过非安全的网络协议下载和安装代码包
  • -fix 下载代码包之后先运行一个用于根据当前Go语言版本修复代码的工具,然后安装代码包

其他参数可详细查询文档