GO 学习笔记之一 环境安装
一、背景
任何运行 go 程序的服务器中必须存在 go 运行环境,本篇指导说明如何使用已有的官方安装包安装go运行环境 以及 如何从go源码中安装 go 运行环境。
二、安装
安装包网址:All releases - The Go Programming Language

可以看到:
- 源码
 - linux环境下的安装包
 - windows环境下的安装包
 
1、安装包安装go运行环境
1.1 windows 环境安装 go 运行环境
1)从下载网站上下载 msi 格式的安装包,示例为:go1.23.3.windows-amd64.msi
2)双机 go1.23.3.windows-amd64.msi,一直点击 下一步

3)配置环境环境变量(win10为例)
- 运行-搜索“环境”-“编辑账户的环境变量”,点击“打开”
 


- “环境变量”弹框中 在用户变量中 如果已经存在 “GOROOT”变量,则双击它,修改值,值为GO安装路径。然后点击“PATH” 将 go 安装路径/bin 添加进去,如下图:
 

- 环境变量中 还需要 添加 GOPATH,该值为go 所有工程所在总目录
 

如果不将 GOPATH 和 GOROOT值设置不同的,则后续执行命令会一直报警告

- 验证GO是否安装好。 搜索运行,点击打开
 

- 输入 go version
 

- 输入 go env 可以看到 go 自己的变量信息
 

- 修改 go 变量
- 开启模块管理
 
 

- 
- 
设置 go仓库
 
 - 
 

这个值可以设置成 https://goproxy.cn,direct 国内代理地址
1.2 linux 环境安装 go 运行环境
1.2.1 下载安装包

下载 go 1.24.2.linux-arm64.tar.gz 版本
1.2.2 安装
- 将压缩包上传到服务器上,本文章放在 /opt/go 下
 - tar -zxvf 命令进行解压缩,解压之后 bin 在 /opt/go/go 目录下
 

- 设置环境变量
- echo $PATH 检查当前环境变量的内容
 - vi /etc/profile 编辑环境变量文件,在末尾增加 export PATH=/opt/go/go/bin
 - source /etc/profile 环境变量永久生效
 - echo $PATH 再次进行查看,发现已经存在的环境变量了
 
 

- 
- go version 验证 go 环境是否安装成功
 
 

- 设置 go env 环境变量
- go env 查看 go 的所有环境变量,可以看到 GO111MODULE\GO PATH
 
 

- 
- go env -w GO111MODULE='on' GOPATH='/opt/go/ws' 修改多个环境变量
 - go env 可以查看修改后的环境变量
 
 

2、源码安装go运行环境
三、go env 环境变量说明
- GOROOT:这是 Go 语言的安装目录,包含了 Go 的标准库、工具链等核心组件。默认情况下,当你安装 Go 语言时,
GOROOT会被设置为 Go 的安装路径。 - GOPATH:这是 Go 语言的工作区目录,用于存放你的 Go 项目、依赖包等。在 Go 1.11 及之前的版本中,
GOPATH是必须的,用于解析导入路径。从 Go 1.13 开始,Go 引入了模块支持,允许你在项目级别管理依赖,但仍然兼容GOPATH模式。 - GO111MODULE:
 - GOPROXY:
 
注意:
1)GOROOT与GOPATH不能设置成一样的
- 将 
GOPATH设置为GOROOT(如d:\program files\go)会导致 Go 语言的工具链(如go build、go run等)在错误的位置查找你的项目和依赖。这通常会导致编译错误或无法找到依赖包的问题。 GOROOT是 Go 语言的安装目录,它包含了 Go 的标准库和编译器等工具,而不是你的工作项目或第三方依赖。
四、安装GO开发工具
1、安装 VSCODE 工具
1.1 下载
下载网址 Visual Studio Code - Code Editing. Redefined

点击“Download for Windows”,即可进行下载,成果物为:VSCodeUserSetup-x64-1.95.3.exe
1.2 安装
双机 VSCodeUserSetup-x64-1.95.3.exe,一直点击 下一步,开始安装

1.3 安装GO插件
1) 打开 VSCODE 工具
2)点击 “extensions” 图标,搜索“GO”插件,点击 install,安装 GO 插件


1.4 手动创建第一个go工程(hello world工程)
1)创建 go 工程目录,如:E:\gowork\src\hello ,其中 hello 是 工程名,E:\gowork\src\ 是存放所有 go 工程的总目录
2)从 VSCODE 工具中打开 创建的 hello 文件夹
- 点击 工具左侧 第一个图标 ---- 点击 Open Floder
 


- 选择 这个 Hello 工程,然后 右下角 “TERMINAL” 中输入 go mod init hello (图中命令有误)
 

3) 在 hello工程下创建 hello.go 文件 并 编辑其内容,仅输出 “hello world”

4) 运行 hello.go
- 在 terminal 中输入 go run .\hello.go 运行
 
1.5 集成 git 导入项目
1)安装 git
首先需要确保你的计算机上已经安装了Git。可以从Git官网(https://git-scm.com/)下载并安装Git 并配置好 git 账号
2)安装 git 插件
需要安装 Git Graph、Git History、Git supercharged 插件

3)通过vscode 打开 git bash 命令行工具

输入git 命令之后,如果要退出这个命令的执行,可以使用 q
或者可以通过 查看-终端打开终端界面,然后按照上图所示打开 git bash 工具

4) 导入git项目
导入项目可以有不同的方式,具体如下介绍
a) gitlab 上直接打开 工程,点击 Visual Studio Code



可以看到默认是通过 https 方式克隆到本地的
b)git bash 终端 克隆远程库代码
git clone 远程仓库地址 本地路径 -b 分支名称 --progress
- 如果目录不配置,表示将会把url指向的仓库直接克隆到当前所在目录下
 - -b 分支名不配置的情况下,将会把主干分支的代码克隆到当前所在目录下
 
示例:
git clone https://sys-gitlab.xxx.com.cn/Fsdmdept/USTA/USTA-xx.git e://gowork//src//git//USTA-xxx --progress #将 https://sys-gitlab.xxx.com.cn/Fsdmdept/USTA/USTA-xxx.git 仓库代码克隆到本地 e://gowork//src//git//USTA-apm 路径下 ---- 这个是使用 https 方式
git clone git@sys-gitlab.xxx.com.cn:Fsdmdept/USTA/USTA-xxx.git e://gowork/src/git/USTA-xxx -b feature-golang-template-0.1 --progress ---- 这个是使用 git 方式
本文在实操时发现 https 的url 方式克隆会遇到问题,需要添加 ssl certificate.
使用git 法昂是 克隆结果如下

过程中碰到如下问题
- 
提示缺失“SSL certificate problem”
 

5)VSCode 将克隆到本地的工程对应文件夹导入到工作区



1.6 集成SVN 导入项目
1)安装SVN插件
2)
1.7 常见插件安装
(1)Chinese (Simplified) (简体中文) Langua:将 VSCode 的用户界面翻译成简体中文;
(2)C/C++:提供 C 和 C++ 语言的集成开发环境,包括代码补全、语法高亮、智能感知、调试等功能,以便于开发者更高效地进行 C/C++ 编程;
(3)Back & Forth:代码上一步、下一步、跳转等功能插件;
(4)Git Graph:提供一个图形化的界面来展示 Git 仓库的分支结构和提交历史,方便开发者直观地理解项目历史和分支关系;
(5)Git History:允许用户通过右键菜单查看文件的 Git 提交历史,可以查看文件在不同提交中的变更;
(6)Git supercharged:增强 Git 在 VSCode 中的功能,提供更丰富的 Git 操作,如分支管理、历史比对、提交信息编辑等;
(7)koroFileHeader:自动为文件添加头部注释,支持自定义注释模板。在文件头部添加作者、创建时间、文件描述等信息,有助于代码维护;
(8)Embedded IDE:提供嵌入式系统开发的集成环境,可能包括针对特定嵌入式系统的编译器、调试器和其他工具的支持;
(9)Cody: AI Coding Assistant with Autocomplete & Chat:利用 AI 技术提供代码自动补全、聊天机器人辅助编程、自动生成代码注释等功能,以提高编程效率和代码质量;
(10)Keil Assistant:增强VSCODE在嵌入式开发方面的功能,使得开发者能在VSCODE中更方便地使用Keil uVision IDE进行嵌入式项目开发,实现代码编写、调试、项目管理等功能的集成和优化;
2、多种方式运行 GO 主程序
2.1 通过命令行运行
可以象上个章节一样,在 terminal 终端执行 go run 命令运行,但这个可能不是我们想要的,希望可以直接通过 开发工具运行
2.2 运行 Run --> Run without Debuging

过程中碰到如下问题:
1)下载mod cobra时,其依赖的 go-md2man 下载不下来,提示 sum 不匹配

原因:
这是因为 GOPROXY环境变量配置成了私有的仓库,该仓库中虽然有 这个 go 模块,但是其sum 与 cobra 模块中 go.sum 记录的 go-md2man sum不一致。因此仍然需要 给 GOPROXY 配置一个 go 全球代理 才行,这样,这个模块可以从全球代理下载而不是公司仓库下载了。
解决方法:
- 执行 go en -w GOPROXY=https://goproxy.cn,direct (先设置成全球代理)
 - go get github.com/cpuguy83/go-md2man@v1.0.1 下载这个依赖模块
 - 再次执行 run without debugging ,点击右小角的 install
 
2) 报错“Failed to launch: Version of Delve is too old for this version of Go”

此时 工具 会自动打开 launch.json 文件 。同时可以看到左侧工程目录下多了 .vscode 目录以及 launch.json 文件。
原因:dlv 版本过低造成
解决办法: (从全球GO代理中下载最新的 dlv版本)
- go env -w GOPROXY=https://goproxy.cn,direct
 - go get -u github.com/go-delve/delve/cmd/dlv@latest
 

这里显示最新的版本是 1.23.1版本,然后重启 vscode 工具,再点击 run

这里显示成功运行了 hello.go
 
这里也显示 dlv 版本已经是最新的 1.23.1版本了。
3)报错提示“You don't have an extension for debugging 'Json with Comments'”,,点击第一个按钮进行安装。

解决办法:点击2)问题中自动打开的lanuch.json 文件,点击“Add Configuration”,选择 launch package


附录
1、全球 GO 代理仓库:GOPROXY.IO - 一个全球代理 为 Go 模块而生
2、
                    
                
                
            
        
浙公网安备 33010602011771号