Windows_GoLand GO语言开发环境构建
摘要:
本文介绍了在Windows系统上使用GoLand搭建Go语言开发环境的详细步骤。首先,需要从官网下载并安装Go语言主程序,并配置环境变量,设置代理以确保模块正常下载。接着,下载并安装GoLand IDE,进行必要的配置以优化开发体验。通过GoLand创建新项目,编写并运行第一个Go程序,验证环境搭建是否成功。此外,还介绍了Go语言常用命令的使用方法,并提供了命令对照翻译。最后,介绍了如何安装Lingma插件,以提高编程效率并支持中文注释。
关键词:GoLand、Go语言、IDE、Lingma
一、Go语言简介
(一)起源与发展
- 起源背景
Go语言(又称Golang)是由Google的Robert Griesemer、Rob Pike和Ken Thompson于2007年开始开发的。当时,他们希望设计一种语言,能够解决C++等传统语言在大规模软件开发中遇到的问题,例如编译速度慢、并发编程复杂、代码可维护性差等。Go语言的设计目标是提高开发效率,同时保持高性能和简洁性。
2. 发展历程
2009年,Go语言首次公开发布。2012年,Go 1.0版本发布,标志着语言的稳定性和生态系统的初步形成。此后,Go语言不断发展,社区也迅速壮大。Go语言因其简洁的语法、强大的并发支持和高效的编译速度,逐渐成为云计算、微服务、网络编程等领域的热门语言。例如,Docker、Kubernetes等知名项目都是用Go语言编写的。
(二)语言特点
- 简洁的语法
Go语言的语法简洁明了,易于学习和使用。它去掉了许多传统语言中的复杂特性,例如继承、泛型(早期版本)等,使得代码更加直观和易读。例如,Go语言的函数定义和变量声明都非常简洁,减少了代码的冗余。这种简洁性使得开发者能够快速上手,并且可以更高效地编写和维护代码。
2. 强大的并发支持
Go语言内置了对并发编程的支持,这是其最大的特色之一。Go引入了goroutine
(轻量级线程)和channel
(通道)的概念,使得并发编程变得非常简单和直观。goroutine
的创建成本极低,可以轻松创建成千上万个并发任务,而channel
则用于在goroutine
之间安全地传递数据。这种设计使得Go语言在处理高并发场景时表现出色,例如在Web服务器和分布式系统中。
3. 高效的编译速度
Go语言的编译速度非常快,这是其另一个显著优势。Go的编译器设计注重效率,能够在短时间内将代码编译为高效的机器码。与C++等语言相比,Go的编译时间大幅缩短,这使得开发和调试过程更加高效。例如,一个中等规模的Go项目可以在几秒内完成编译,而类似的C++项目可能需要数分钟。
4. 垃圾回收机制
Go语言内置了垃圾回收(Garbage Collection,GC)机制,自动管理内存分配和回收。这使得开发者无需手动管理内存,从而减少了内存泄漏和指针错误等问题。垃圾回收机制虽然会带来一定的性能开销,但Go语言通过优化算法,尽量减少对程序性能的影响,同时保证了开发的便捷性和程序的稳定性。
5. 跨平台和标准库丰富
Go语言是跨平台的,支持多种操作系统和架构,包括Windows、Linux、macOS等。同时,Go语言提供了丰富的标准库,涵盖了网络编程、文件操作、并发控制、数据结构等多个方面。例如,net/http
库提供了强大的Web服务器和客户端功能,使得开发Web应用变得非常简单。标准库的丰富性使得开发者可以快速构建各种应用程序,而无需依赖外部库。
(三)应用场景
- 网络编程
Go语言在网络编程领域表现出色。其内置的net
库提供了强大的网络通信功能,支持TCP、UDP、HTTP等多种协议。Go的并发模型使得处理高并发网络请求变得非常高效。例如,许多高性能的Web服务器和API网关都是用Go语言编写的。Go语言的高效编译速度和垃圾回收机制也使得网络服务的部署和维护更加方便。
2. 微服务架构
Go语言是微服务架构的理想选择。微服务需要快速开发、高效部署和高并发处理能力,而Go语言的这些特性正好满足需求。Go语言的编译速度快,使得微服务的开发和迭代非常迅速。同时,goroutine
和channel
的并发模型使得微服务能够高效地处理并发请求。例如,许多基于微服务架构的云原生应用都使用Go语言开发。
3. 分布式系统
Go语言在分布式系统开发中也有广泛应用。其高效的并发支持和垃圾回收机制使得分布式系统中的节点能够高效地处理任务和通信。例如,Kubernetes(容器编排系统)和Etcd(分布式键值存储)都是用Go语言编写的。Go语言的跨平台特性也使得分布式系统能够在多种环境中运行。
4. 命令行工具
Go语言非常适合开发命令行工具。其简洁的语法和高效的编译速度使得开发命令行工具非常方便。Go语言的flag
库提供了强大的命令行参数解析功能,使得开发者可以轻松地实现复杂的命令行工具。例如,许多开源的命令行工具,如fzf
(模糊查找工具)等,都是用Go语言编写的。
(四)社区与生态
- 活跃的社区
Go语言拥有一个庞大且活跃的社区。社区成员包括开发者、企业用户和开源项目贡献者。Go社区通过各种渠道交流,如GitHub、Stack Overflow、Go论坛等。社区的活跃性使得Go语言不断发展,新的功能和改进不断被提出和实现。同时,社区也为开发者提供了丰富的学习资源和帮助,例如,初学者可以通过社区提供的教程、文档和开源项目来学习Go语言。
2. 丰富的生态系统
Go语言的生态系统非常丰富,涵盖了从Web开发到分布式系统、从机器学习到区块链等多个领域。例如,Gin
和Echo
是流行的Go Web框架,它们提供了高效的路由处理和中间件支持。Beego
是一个功能强大的全栈Web框架,适用于企业级应用开发。此外,Go语言在云原生领域也有广泛的应用,例如,Docker
和Kubernetes
等项目都基于Go语言开发,这进一步推动了Go语言在云计算和容器化领域的生态发展。
小结
Go语言以其简洁的语法、强大的并发支持、高效的编译速度和丰富的生态系统,在现代软件开发中占据了重要地位。它特别适合网络编程、微服务架构、分布式系统和命令行工具的开发。Go语言的设计理念和特性使得它成为一种高效、可靠且易于使用的编程语言,深受开发者和企业的欢迎。
二、安装Go语言主程序
(一)下载
地址:https://go.dev/
该网站将DNS服务器分配手动设为Google的要好用些,其他可能导致无法访问。

正常出现如下页面:

点击图标下面的链接下载最新版本。可以根据需要下载其他版本。
运行安装程序。安装目录是C:\Program Files\Go。
(二)添加环境变量
安装可以自动完成了这一步,在资源管理器中右键单击“我的电脑”,选择“属性”。
点击“环境变量”按钮。

点击“编辑”按钮。

新建一行,添加Go语言命令文件所在路径。
查看一下Go语言程序是否安装正确。打开命令行提示符,输入go后回车。

查看go语言版本。

(三)配置环境
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct
(四)检查环境变量
go env

三、安装Goland
使用Goland开发工具搭建Go语言开发环境的步骤如下:
(一)下载
下载地址:JetBrains GoLand:不只是 Go IDE。注意GoLnad没有免费版本。
(二)安装
执行安装程序。按提示操作即可,选择简体中文语言,将应用程序路径加入环境变量中。
(三)配置
在Windows系统中安装并设置好语言为简体中文的JetBrains GoLand IDE(2025.1版本)后,通常需要进行以下一些必要的配置来优化开发体验。可在使用中逐步完成。
以上步骤完成后,你就可以在Goland中开始高效地进行Go语言的开发工作了。
四、编写第一个程序
(一)启动GoLand并创建新项目
- 打开GoLand软件。
- 选择 “File”(文件)菜单,然后点击 “New Project”(新建项目)或使用快捷键
Ctrl+Shift+A
并搜索 “New Project”。 - 在新建项目向导中,选择 “Go” 并点击 “Next” 按钮。
- 配置项目设置:
- 为项目选择一个合适的保存位置。
- 设置项目名称,例如 “hello-world”。


go.mod和main.go文件会被自动创建。
(二)主包和主函数
-
go.mod
文件。module hello-world go 1.24
-
main.go
文件。
package main
import (
"fmt"
)
func main() {
s := "gopher"
fmt.Printf("Hello and welcome, %s!\n", s)
for i := 1; i <= 5; i++ {
fmt.Println("i =", 100/i)
}
}
(三)运行程序
- 在
main.go
文件内任意一行代码上点击右键,选择 “运行go build hello-world’” 或按下快捷键Shift+F10
(Windows/Linux)或^R
(macOS)来运行程序。 - 这时,你应该会在底部的 “Run” 窗口中看到输出结果。
Hello and welcome, gopher!
i = 100
i = 50
i = 33
i = 25
i = 20
现在,你已经在GoLand中成功创建并运行了你的第一个Go语言程序!
总结起来,如果你主要专注于 Go 开发并寻求一种更加一体化、专业级别的开发体验,GoLand 可能更适合你。而如果你希望一个更为灵活、轻量且可以支持多种语言开发的编辑器,或者预算有限,那么 VSCode 加上相关 Go 扩展将是一个不错的选择。尽管 VSCode 在 Go 支持方面不如 GoLand 那样深入集成,但它通过社区的力量也提供了相当完善的 Go 开发支持。
五、GOLANG常用命令
直接在终端中输入 go help 即可显示所有的 go 命令以及相应命令功能简介。
PS D:\> go help
Go is a tool for managing Go source code.
Usage:
go <command> [arguments]
The commands are:
bug start a bug report
build compile packages and dependencies
clean remove object files and cached files
doc show documentation for package or symbol
env print Go environment information
fix update packages to use new APIs
fmt gofmt (reformat) package sources
generate generate Go files by processing source
get add dependencies to current module and install them
install compile and install packages and dependencies
list list packages or modules
mod module maintenance
work workspace maintenance
run compile and run Go program
telemetry manage telemetry data and settings
test test packages
tool run specified go tool
version print Go version
vet report likely mistakes in packages
Use "go help <command>" for more information about a command.
Additional help topics:
buildconstraint build constraints
buildjson build -json encoding
buildmode build modes
c calling between Go and C
cache build and test caching
environment environment variables
filetype file types
goauth GOAUTH environment variable
go.mod the go.mod file
gopath GOPATH environment variable
goproxy module proxy protocol
importpath import path syntax
modules modules, module versions, and more
module-auth module authentication using go.sum
packages package lists and patterns
private configuration for downloading non-public code
testflag testing flags
testfunc testing functions
vcs controlling version control with GOVCS
Use "go help <topic>" for more information about that topic.
下面做一个对照翻译:
PS D:\> go help
Go is a tool for managing Go source code.
Go 是一个用于管理 Go 源代码的工具。
Usage:
Usage:
go <command> [arguments]
go <command> [arguments]
The commands are:
命令如下:
bug start a bug report
bug 开始一个错误报告
build compile packages and dependencies
build 编译包及其依赖项
clean remove object files and cached files
clean 删除目标文件和缓存文件
doc show documentation for package or symbol
doc 显示包或符号的文档
env print Go environment information
env 打印 Go 环境信息
fix update packages to use new APIs
fix 更新包以使用新的 API
fmt gofmt (reformat) package sources
fmt gofmt(重新格式化)包源代码
generate generate Go files by processing source
generate 通过处理源代码生成 Go 文件
get add dependencies to current module and install them
get 将依赖项添加到当前模块并安装它们
install compile and install packages and dependencies
install 编译并安装包及其依赖项
list list packages or modules
list 列出包或模块
mod module maintenance
mod 模块维护
work workspace maintenance
work 工作区维护
run compile and run Go program
run 编译并运行 Go 程序
telemetry manage telemetry data and settings
telemetry 管理遥测数据和设置
test test packages
test 测试包
tool run specified go tool
tool 运行指定的 go 工具
version print Go version
version 打印 Go 版本
vet report likely mistakes in packages
vet 报告包中可能存在的错误
Use "go help <command>" for more information about a command.
使用 "go help <command>" 获取有关命令的更多信息。
Additional help topics:
其他帮助主题:
buildconstraint build constraints
buildconstraint 构建约束
buildjson build -json encoding
buildjson 构建 -json 编码
buildmode build modes
buildmode 构建模式
c calling between Go and C
c Go 和 C 之间的调用
cache build and test caching
cache 构建和测试缓存
environment environment variables
environment 环境变量
filetype file types
filetype 文件类型
goauth GOAUTH environment variable
goauth GOAUTH 环境变量
go.mod the go.mod file
go.mod go.mod 文件
gopath GOPATH environment variable
gopath GOPATH 环境变量
goproxy module proxy protocol
goproxy 模块代理协议
importpath import path syntax
importpath 导入路径语法
modules modules, module versions, and more
modules 模块、模块版本等
module-auth module authentication using go.sum
module-auth 使用 go.sum 进行模块认证
packages package lists and patterns
packages 包列表和模式
private configuration for downloading non-public code
private 下载非公开代码的配置
testflag testing flags
testflag 测试标志
testfunc testing functions
testfunc 测试函数
vcs controlling version control with GOVCS
vcs 使用 GOVCS 控制版本控制
Use "go help <topic>" for more information about that topic.
使用 "go help <topic>" 获取有关该主题的更多信息。
六、安装 Lingma 插件
安装Lingma - Alibaba Cloud AI Coding Assistant插件。
搜索到这个插件后,根据文字说明,找到Alibaba插件的下载网址,下载一个zip文件。然后使用本地文件安装。
安装完成后即使用,以此提高编程效率。使用前需要使用阿里云账户登录。
然后用这个插件将自动编程的代码的注释改成中文:
package main
import (
"fmt"
)
//TIP <p>要运行您的代码,请右键点击代码并选择 <b>运行</b>。</p> <p>或者,
// 点击编辑器边栏中的 <icon src="AllIcons.Actions.Execute"/> 图标并从这里选择 <b>运行</b> 菜单项。</p>
func main() {
//TIP <p>当光标位于下划线文本时,按下 <shortcut actionId="ShowIntentionActions"/> 查看 GoLand 如何建议修复警告。</p><p>或者,如果可用,点击灯泡查看可能的修复方案。</p>
s := "gopher"
fmt.Printf("Hello and welcome, %s!\n", s)
for i := 1; i <= 5; i++ {
//TIP <p>要开始调试会话,请在编辑器中右键点击您的代码并选择调试选项。</p> <p>我们已为您设置了一个 <icon src="AllIcons.Debugger.Db_set_breakpoint"/> 断点,
// 但您始终可以通过按下 <shortcut actionId="ToggleLineBreakpoint"/> 添加更多断点。</p>
fmt.Println("i =", 100/i)
}
}
//TIP 是特定注释语法。
总结
本文详细介绍了在Windows系统上使用GoLand搭建Go语言开发环境的完整流程。首先,文章回顾了Go语言的起源、发展及其核心特性,包括简洁语法、强大的并发支持、高效编译速度和丰富的标准库。接着,文章详细阐述了安装Go语言主程序的步骤,包括下载、配置环境变量以及设置代理以确保模块正常下载。随后,文章介绍了如何下载并安装GoLand IDE,并进行必要的配置以优化开发体验。通过GoLand创建新项目、编写并运行第一个Go程序的过程也被清晰地展示出来,验证了开发环境的搭建是否成功。此外,文章还提供了Go语言常用命令的对照翻译,并介绍了如何安装Lingma插件以支持中文注释并提高编程效率。最后,文章对比了GoLand与其他开发工具的优缺点,为开发者提供了选择建议。整体而言,本文为初学者提供了一份详尽的Go语言开发环境搭建指南,帮助读者快速上手Go语言开发。