go语言环境配置(mac)
概述
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software
开始学习go语言了,先看看环境配置
相关文档
下载及安装
我使用的是当前最新版本1.19.3,下载对应系统(mac)的版本即可,一路点击下一步就安装成功了
- 终端执行
go version
校验是否安装成功
$ go version
go version go1.19.3 darwin/amd64
配置环境变量
export GOROOT=/usr/local/go
export GOPATH=/Users/xmly/go
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
终端执行source ~/.zshrc
后生效
GOROOT为go安装目录,go原生的工具在该目录下
GOPATH通常存放自己开发的代码(不建议)或第三方依赖库
配置export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
是为了保证在任何目录下可执行go 二进制可执行文件
GO111MODULE=on
在go 1.16开始默认为on
GOPROXY:Go语言官方提供的一种通过中间代理商来为用户提供包下载服务的方式,这里设置为https://goproxy.cn
环境信息说明
- 下载安装后在终端执行
go env
则可查看到环境信息 - 环境参数解释
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/xmly/Library/Caches/go-build"
GOENV="/Users/xmly/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/xmly/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/xmly/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.16.8"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/6h/m_5kf5zj42l549s35gb8ldtr0000gn/T/go-build979516492=/tmp/go-build -gno-record-gcc-switches -fno-common"
- GOROOT:GOROOT指的Golang语言的安装路径
- mac 默认路径为
/usr/local/go
- 几个目录
- bin:go 二进制工具目录
- doc:go 文档目录
- pkg:go 第三方包目录
- src:go 源码目录
- GOPATH:通常
存放自己开发的代码(不建议)或第三方依赖库
默认目录是~/go
(unix平台)
几个目录:
- bin:存放编译后的可执行文件
- pkg:依赖包编译后的*.a文件
- src:存放源码文件,以代码包为组织形式
每一个项目尽量只设置一个 GOPATH
如果不存在,可自行创建mkidr bin pkg src
- GO111MODULE
go 1.16 之后,已经默认 GO111MODULE=on 为默认值,也就是默认使用 go modules 进行依赖管理
- go modules 依赖包查找机制
- 下载的第三方依赖存放在
$GOPATH/pkg/mod
下 - go install 生成的可执行文件存放在
$GOPATH/bin
下 - 依赖包的查找顺序:工作目录 =>
$GOPATH/pkg/mod
=>$GOROOT/src
- 下载的第三方依赖存放在
IDE
- vs code
- 安装插件extentions:Go for Visual Studio Code、Code Runner
- 不能运行,可进入目录执行
go mod init
- goland
- go playground
- https://play.golang.wiki
- https://play.studygolang.com
- https://goplay.space
- https://goplay.tools
helloworld
$ mkdir go_project
$ mkdir helloworld
$ cd helloworld
$ go mod init helloworld # 一般保持跟项目名一致
$ ls
$ cat go.mod
module helloworld
go 1.19
vs code打开项目所在目录,并创建hello.go文件,内容如下
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
- 运行
- vs code直接运行
- 命令行运行,进入项目所在目录执行
go run hello.go