go 语言开发环境搭建
一. go 环境安装
1.1 下载
go镜像站(推荐):https://golang.google.cn/dl/
1.2 go 版本的选择
默认下载最新自己对应的平台即可。
1.3 安装
1.3.1 windows安装
打开下载的安装程序(.msi文件),然后按照安装向导中的说明进行安装
1.3.2 linux下安装
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/goexport path=$path:$goroot/bin
修改/etc/profile
后要重启生效,修改$home/.profile
后使用source命令加载$home/.profile
文件即可生效。
1.3.2 mac下安装
打开下载的安装程序(.pkg文件),然后按照安装向导中的说明进行安装,默认会将go安装到/usr/local/go
目录下。
1.4 验证go安装
验证go安装: 打开终端(terminal)应用程序,并运行以下命令来验证go是否正确安装:
go version
二. go 语言环境变量
2,1 查看go 环境变量
打开终端(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'
2.2 常用go 配置项
环境变量 | 作用 | 默认值 |
---|---|---|
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安装程序设置) |
2.3 gopath
- src:存放源代码:在gopath中的
src
目录用于存放你的go项目的源代码文件。每个go项目都应该有自己的目录,通常按照导入路径的结构来组织。例如,如果你的项目的导入路径是github.com/yourusername/yourproject
,那么你的项目应该位于$gopath/src/github.com/yourusername/yourproject
。 - pkg:存放依赖包:
pkg
目录用于存放已经编译好的go包,这些包是你的项目依赖的其他包。这些包通常是由go编译器自动构建并存储在pkg
目录中,以便提高构建速度。 - bin:存放可执行文件:
bin
目录用于存放通过go install
命令构建的可执行文件。当你使用go install
安装一个go程序时,可执行文件将被放置在$gopath/bin
目录下,可以直接运行。
2.4 goroot
- go的安装目录:goroot是指示go语言安装目录的环境变量。它告诉go编译器在哪里找到标准库以及其他与go相关的工具和资源。goroot的默认值由go安装程序设置,通常位于系统的特定目录中,例如
/usr/local/go
或c:\go
。开发者不需要手动设置goroot,go会自动识别它。
2.5 goproxy
2.5.1 介绍说明:
- 用来配置go module proxy服务:goproxy是一个环境变量,用于指定用于下载go module的代理服务。默认值为"https://proxy.golang.org,direct",它允许直接从官方代理下载go module。
- 在中国大陆等地区,由于网络限制,通常会将goproxy设置为本地的go module代理服务,例如"https://goproxy.cn,direct",以加速下载速度和提高可靠性。设置合适的goproxy可以改善go module的下载体验。
2.5.2 设置代理
对于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/
2.5.3 常用 go 代理
以下是一些常用的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设置为相应的地址。
三. 常用的ide 设置
3.1 vscode
特点:免费开源,强大的社区支持,扩展丰富,支持多种编程语言,包括go。
官网地址:https://code.visualstudio.com/download
go相关扩展:在vscode中使用go开发,你可以安装以下一些常用的go相关扩展来增强开发体验:
- go - 微软官方的go扩展,提供自动补全、格式化、重构等语言特性。
- gopls - 另一个语言服务器,提供智能提示、代码跳转、诊断等。有些人会觉得它比默认的go扩展更好。
- go test explorer - 在vs code内运行测试并在侧边栏显示结果。
- go modules - 支持go modules,如导入语句的模块路径自动补全。
- gocode-gomod - 使用go modules时自动补全模块。
- dlv-dap - 提供调试delve调试器的配置。
- gotests - 自动为你的代码生成测试文件。
- guru - 集成guru工具,提供引用、定义等显示。
- goreturns - 添加快捷键运行goreturns来格式化和组织导入语句。
3.2 goland
特点:goland是jetbrains公司开发的商业ide,专门用于go语言开发。它提供了丰富的功能和工具,使go开发更加高效和愉快。
官网:https://www.jetbrains.com/go/
go相关功能:goland针对go开发提供了许多功能,包括:
- 智能代码补全:goland具有高度智能的代码补全功能,可以准确地预测你要输入的代码,提高编码速度。
- 深度集成:goland深度集成了go工具链,包括调试器、测试工具、代码导航等,使开发流程更加顺畅。
- 代码重构:goland支持各种代码重构操作,可以帮助你改进代码质量和结构。
- 实时错误检查:goland会在你编写代码时实时检查错误和代码质量问题,并提供即时反馈。
- 版本控制:集成了常见的版本控制工具,如git,方便团队协作和版本管理。
配置:
打开后点击新建项目:
选择一个项目路径,和go编译器创建项目
继续打开settings 设置go module 和 goproxy
environment
正确填写内容:goproxy=https://goproxy.cn,direct
这些是常用的go开发ide中的两个主要选择。你可以根据自己的需求和偏好选择其中一个,它们都提供了强大的工具和功能来支持go开发。
到此这篇关于go 语言开发环境搭建的文章就介绍到这了,更多相关go 开发环境搭建内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论