Go官网:https://golang.org/dl/
Go镜像站(推荐):https://golang.google.cn/dl/
默认下载最新自己对应的平台即可。
打开下载的安装程序(.msi文件),然后按照安装向导中的说明进行安装
wget https://golang.google.cn/dl/go1.21.1.linux-amd64.tar.gz
将下载好的文件解压到/usr/local
目录下:
tar -zxvf go1.21.1.linux-amd64.tar.gz -C /usr/local # 解压
如果提示没有权限,加上sudo
以root用户的身份再运行。执行完就可以在/usr/local/
下看到go
目录了。
配置环境变量,Linux下有两个文件可以配置环境变量,
其中/etc/profile
是对所有用户生效的;
$HOME/.profile
是对当前用户生效的,根据自己的情况自行选择一个文件打开,添加如下两行代码,保存退出。
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
修改/etc/profile
后要重启生效,修改$HOME/.profile
后使用source命令加载$HOME/.profile
文件即可生效。
打开下载的安装程序(.pkg文件),然后按照安装向导中的说明进行安装,默认会将go安装到/usr/local/go
目录下。
验证Go安装: 打开终端(Terminal)应用程序,并运行以下命令来验证Go是否正确安装:
go version
打开终端(Terminal)应用程序,并运行以下命令来查看Go 环境变量:
go env
终端会返回如下命令:
GO111MODULE='on'
GOARCH='amd64'
GOBIN=''
GOCACHE='/Users/thinkook/Library/Caches/go-build'
GOENV='/Users/thinkook/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/thinkook/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='darwin'
GOPATH='/Users/thinkook/go'
GOPRIVATE=''
GOPROXY='https://goproxy.cn,direct'
GOROOT='/usr/local/Cellar/go/1.21.1/libexec'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/Cellar/go/1.21.1/libexec/pkg/tool/darwin_amd64'
GOVCS=''
GOVERSION='go1.21.1'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='cc'
CXX='c++'
CGO_ENABLED='1'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/fs/wzn8gx9n3cq_gqvy502mn17r0000gn/T/go-build3919122639=/tmp/go-build -gno-record-gcc-switches -fno-common'
环境变量 | 作用 | 默认值 |
---|---|---|
GOARCH | 用于指示Go编译器生成代码所针对的平台CPU架构 | 本机的CPU架构(例如,AMD64、Arm等) |
GOOS | 用于指示Go编译器生成代码所针对的操作系统 | 本机的操作系统(例如,Linux、Darwin、Windows等) |
GO111MODULE | 它的值决定了当前使用的构建模式是传统的GOPATH模式还是新引入的Go Module模式 | Go 1.16版本后,默认为"on",开启Go Module构建模式 |
GOCACHE | 用于指示存储构建结果缓存的路径,这些缓存可能会被后续的构建所使用 | 不同操作系统上有不同的默认值。在Linux上默认值为 “$HOME/.cache/go-build” |
GOMODCACHE | 用于指示存放Go Module的路径 | 不同操作系统上有不同的默认值。在Linux上默认值为 “$HOME/go/pkg/mod” |
GOPROXY | 用来配置Go Module proxy服务 | 默认值为 "https://proxy.golang.org,direct"。在中国大陆地区通常设置为 “https://goproxy.cn,direct” 以加速下载速度 |
GOPRIVATE | 指向自己的私有库,比如说自己公司的私有库 | 无(默认值由用户配置) |
GOPATH | 在传统的GOPATH构建模式下,用于指示Go包搜索路径的环境变量,在Go module机制启用之前是Go核心配置项。Go 1.8版本之前需要手工配置,Go 1.8版本引入了默认的GOPATH($HOME/go)。在Go Module模式正式上位后,可能会被移除 | 无(默认值由用户配置) |
GOROOT | 指示Go安装路径。Go 1.10版本引入了默认GOROOT,开发者无需显式设置,Go程序会自动根据自己所在路径推导出GOROOT的路径 | 无(由Go安装程序设置) |
src
目录用于存放你的Go项目的源代码文件。每个Go项目都应该有自己的目录,通常按照导入路径的结构来组织。例如,如果你的项目的导入路径是github.com/yourusername/yourproject
,那么你的项目应该位于$GOPATH/src/github.com/yourusername/yourproject
。pkg
目录用于存放已经编译好的Go包,这些包是你的项目依赖的其他包。这些包通常是由Go编译器自动构建并存储在pkg
目录中,以便提高构建速度。bin
目录用于存放通过go install
命令构建的可执行文件。当你使用go install
安装一个Go程序时,可执行文件将被放置在$GOPATH/bin
目录下,可以直接运行。/usr/local/go
或C:\Go
。开发者不需要手动设置GOROOT,Go会自动识别它。对于Go版本1.13及以上:
go env -w GO111MODULE=on
go env -w GOPROXY=https://proxy.golang.com.cn/,direct
“direct” 是一个特殊指示符,用于指示Go在需要时回源到模块版本的源地址(例如GitHub等)。如果在GOPROXY值列表中的前一个Go模块代理返回404或410错误,Go会自动尝试列表中的下一个代理,遇到 “direct” 时会回源,遇到EOF时会终止并抛出类似“invalid version: unknown revision…”的错误。
对于其他版本,可以使用以下方式设置代理:
export GO111MODULE=on
export GOPROXY=https://proxy.golang.com.cn/
以下是一些常用的Go Module代理服务的地址:
提供者 | 地址 |
---|---|
官方全球代理 | https://proxy.golang.com.cn |
官方 | https://goproxy.io,direct |
七牛云 | https://goproxy.cn |
阿里云 | https://mirrors.aliyun.com/goproxy/ |
GoCenter | https://gocenter.io |
百度 | https://goproxy.bj.bcebos.com/ |
这些代理服务可以帮助加速Go Module的下载,特别是在网络受限的情况下。您可以根据自己的需求选择合适的代理服务,并将GOPROXY设置为相应的地址。
特点:免费开源,强大的社区支持,扩展丰富,支持多种编程语言,包括Go。
官网地址:https://code.visualstudio.com/download
Go相关扩展:在VsCode中使用Go开发,你可以安装以下一些常用的Go相关扩展来增强开发体验:
特点:Goland是JetBrains公司开发的商业IDE,专门用于Go语言开发。它提供了丰富的功能和工具,使Go开发更加高效和愉快。
官网:https://www.jetbrains.com/go/
Go相关功能:Goland针对Go开发提供了许多功能,包括:
配置:
打开后点击新建项目:
选择一个项目路径,和Go编译器创建项目
继续打开settings 设置Go Module 和 GOPROXY
Environment
正确填写内容:GOPROXY=https://goproxy.cn,direct
这些是常用的Go开发IDE中的两个主要选择。你可以根据自己的需求和偏好选择其中一个,它们都提供了强大的工具和功能来支持Go开发。