当前位置: 首页 > news >正文

Golang语言入门篇002_安装Golang

Go语言(又称Golang)是由Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。本文将详细介绍在不同操作系统上安装Go语言的方法,以及如何管理多个Go版本。

1. 官方安装教程

  • Download and install - The Go Programming Language

2. Windows系统安装Go

2.1. 下载安装包

  1. 访问Go官方下载页面
  2. 找到Windows对应的版本,下载.msi安装包(如:go1.21.0.windows-amd64.msi

2.2. 安装步骤

  1. 双击下载的.msi文件启动安装程序
  2. 按照安装向导的指示进行操作,默认会安装到C:\Go\目录
  3. 安装程序会自动将C:\Go\bin添加到系统的PATH环境变量中

2.3. 验证安装

打开命令提示符(cmd)或PowerShell,输入以下命令:

go version

如果显示版本信息,说明安装成功。

3. Linux系统安装Go

3.1. 下载安装包

访问Go官方下载页面,下载Linux对应的.tar.gz压缩包,或者使用wget命令:

wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz

3.2. 安装步骤

  1. 解压下载的压缩包到/usr/local目录:
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
  1. 配置环境变量,将Go的bin目录添加到PATH中:

编辑~/.bashrc~/.profile文件:

export PATH=$PATH:/usr/local/go/bin
  1. 使配置生效:
source ~/.bashrc

或者重新登录系统。

3.3. 验证安装

在终端中执行:

go version

4. macOS系统安装Go

4.1. 方法一:使用安装包

  1. 访问Go官方下载页面
  2. 下载macOS对应的.pkg安装包
  3. 双击安装包,按照安装向导完成安装

4.2. 方法二:使用Homebrew

如果你已经安装了Homebrew,可以使用以下命令安装:

brew install go

4.3. 验证安装

在终端中执行:

go version

5. 配置Go环境变量

安装Go后,还需要配置一些重要的环境变量:

  • GOROOT:Go的安装路径,默认情况下不需要设置
  • GOPATH:工作区路径(Go 1.11版本后,使用Go Modules时可不设置)
  • GOBIN:可执行文件存放路径
  • PATH:需要包含Go的可执行文件路径

5.1. 查看当前Go环境变量

go env

5.2. 设置Go环境变量

# 设置GOPATH
go env -w GOPATH=$HOME/go# 设置代理(国内用户推荐)
go env -w GOPROXY=https://goproxy.cn,direct

6. Go多版本管理

在实际开发中,可能需要在不同项目中使用不同版本的Go。以下是几种常用的Go多版本管理工具:

6.1. 使用gvm(Go Version Manager)

gvm是Linux和macOS平台下常用的Go版本管理工具。

6.1.1. 安装gvm

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

6.1.2. 使用gvm

# 查看可安装的Go版本
gvm listall# 安装指定版本的Go
gvm install go1.21.0# 切换Go版本
gvm use go1.21.0# 设置默认Go版本
gvm use go1.21.0 --default

6.2. 使用goenv

goenv是一个跨平台的Go版本管理工具,灵感来源于rbenv。

6.2.1. 安装goenv

git clone https://github.com/syndbg/goenv.git ~/.goenv

添加到PATH:

echo 'export GOENV_ROOT="$HOME/.goenv"' >> ~/.bashrc
echo 'export PATH="$GOENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(goenv init -)"' >> ~/.bashrc

6.2.2. 使用goenv

# 查看可用的Go版本
goenv install -l# 安装指定版本
goenv install 1.21.0# 设置全局版本
goenv global 1.21.0# 设置项目版本
goenv local 1.20.0

6.3. 使用第三方包管理器

6.3.1. macOS (使用Homebrew)

# 安装不同版本的Go
brew install go@1.20
brew install go@1.19# 切换版本
brew unlink go
brew link go@1.20

7. Docker中使用Go

对于不想在本地安装Go或者需要隔离环境的开发者,可以使用Docker:

# 拉取Go官方镜像
docker pull golang:1.21# 运行Go容器
docker run -it --rm golang:1.21 go version

8. 常见问题及解决方案

8.1. 网络问题

国内用户可能遇到下载包慢的问题,可以配置Go代理:

go env -w GOPROXY=https://goproxy.cn,direct

文章转载自:

http://DFVsUrH3.wwyxb.cn
http://7nPWiDc3.wwyxb.cn
http://nBFm7CgR.wwyxb.cn
http://EPMOC4IA.wwyxb.cn
http://Sr4RSrY4.wwyxb.cn
http://HxNCodCs.wwyxb.cn
http://1r4oKwZX.wwyxb.cn
http://5bBZlkJy.wwyxb.cn
http://2INyV2aV.wwyxb.cn
http://lmjiVpGR.wwyxb.cn
http://XXL60oAC.wwyxb.cn
http://jklFTVXN.wwyxb.cn
http://KN98wq76.wwyxb.cn
http://nSYwkjoB.wwyxb.cn
http://qzlLxd32.wwyxb.cn
http://DemkDMlk.wwyxb.cn
http://Y79xsq8K.wwyxb.cn
http://XM13Iife.wwyxb.cn
http://GnY1sx8W.wwyxb.cn
http://upbjLprz.wwyxb.cn
http://aizbdVkk.wwyxb.cn
http://f4EzmgYa.wwyxb.cn
http://v1GezDNZ.wwyxb.cn
http://DAMKE0r4.wwyxb.cn
http://M96f16sc.wwyxb.cn
http://F5KOEHS4.wwyxb.cn
http://fYfSD8mG.wwyxb.cn
http://Ql0AMH2E.wwyxb.cn
http://LCOvLz1G.wwyxb.cn
http://d1K5cdfY.wwyxb.cn
http://www.dtcms.com/a/384446.html

相关文章:

  • cemu运行塞尔达传说:旷野之息的闪退问题以及解决方案记录
  • 【面试之Redis篇】主从复制原理
  • MySQL 8.0 在 Ubuntu 22.04 中如何将启用方式改为mysql_native_password(密码认证)
  • 轨道交通绝缘监测—轨道交通安全的隐形防线
  • Golang 语言中的函数类型
  • 《投资-54》数字资产的形式有哪些?
  • leetcode41(对称二叉树)
  • 链表详解:(后续会更新)
  • 光谱相机在半导体缺陷检测中的应用
  • 计算机组成原理-第一章
  • 修改 Windows 10 系统更新暂停天数指南
  • Flutter系统亮度检测完全指南:MediaQuery.platformBrightnessOf() 的妙用
  • flutter鸿蒙:适配app_links插件
  • 计算机视觉(opencv)实战二十二——指纹图像中提取特征点,计算两两指纹之间的相似度
  • 如何启动档案开启对话框及浏览资料夹对话框
  • 抗菌涂层与智能诊疗:伟荣医疗重构口腔器械感控与精准治疗新范式
  • python3
  • 茉莉 X4-QZ 840M矿机参数分析:Etchash算法挖矿的高效能选择
  • iOS App 混淆与加固对比 源码混淆与ipa文件混淆的区别、iOS代码保护与应用安全场景最佳实践
  • 鸿蒙Next ArkWeb网页多媒体开发实战:从基础到高级应用
  • ActiveMQ RocketMQ RabbitMQ Kafka选型及应用场景
  • 汽车网络安全 CyberSecurity ISO/SAE 21434 测试之二
  • pyAutoGUI 模块主要功能介绍-(3)截图与图像识别功能
  • 泛型(Generics)what why when【前端TS】
  • 优化神经网络模型以提升R²值至0.99的全面方案
  • AR眼镜:远程协作的“破局者”,让问题解决“云手帮”
  • 本地部署 GPS 跟踪系统 Traccar 并实现外部访问
  • 【Pycharm】“无法载入新的虚拟环境,加载框一闪而过,只能加载conda虚拟base环境”的问题解决方法
  • JVM-运行时内存-虚拟机栈与本地方法栈
  • Matplotlib定制:精解颜色、字体、线型与标记