前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Go 语言开发环境搭建 (Windows)

Go 语言开发环境搭建 (Windows)

原创
作者头像
叫我阿杰好了
发布2025-06-15 18:02:19
发布2025-06-15 18:02:19
3610
举报
文章被收录于专栏:Go入门到入土Go入门到入土

这篇文章已经放到腾讯智能工作台的知识库啦,链接在这里:ima.copilot-Go 入门到入土。要是你有啥不懂的地方,就去知识库找 AI 聊一聊吧。

1、Go 安装

1.1、下载地址

Go官网下载地址:https://golang.org/dl/ (打开有点慢)

image.png
image.png

1.2、安装

image.png
image.png

双击下载下来的安装文件。

image.png
image.png
image.png
image.png

选择自己的安装位置。

image.png
image.png
image.png
image.png
image.png
image.png

1.3、验证

image.png
image.png
代码语言:go
复制
go version

2、Go 语言开发推荐编辑器

为 Go 语言选择合适的开发环境是提高效率的关键。这里我就推荐两款,是我正在用的,如果你有其他的推荐,可以在评论区打出来。

1. Visual Studio Code (VS Code) - 强烈推荐

官网: Visual Studio Code - Code Editing. Redefined

image.png
image.png

简介: VS Code 是一款由微软开发的免费、开源且功能强大的轻量级代码编辑器。凭借其丰富的扩展生态系统,它已成为 Go 语言开发者的首选。

优点:

  • Go 扩展: 官方维护的 Go 扩展 (golang.go) 功能极其强大,提供了代码补全 (IntelliSense)、代码导航、代码片段、格式化、重构、单元测试、调试等全方位支持。
  • 高度可定制: 您可以根据自己的喜好安装各种主题、插件和自定义设置,打造个性化的开发环境。
  • 性能优异: 即使在处理大型项目时,VS Code 依然保持流畅的性能。
  • 集成终端: 内置的终端可以方便地执行 go run, go build, go test 等命令。
  • 跨平台: 支持 Windows, macOS, 和 Linux。

配置: 安装 VS Code 后,在扩展市场搜索并安装 "Go" 扩展。扩展会自动提示您安装 Go 语言相关的工具链(如 gopls, dlv 等)。

image.png
image.png

2. GoLand - 功能最全面的 IDE

官网:GoLand by JetBrains: More than just a Go IDE

image.png
image.png

简介: GoLand 是由 JetBrains 公司专为 Go 语言开发者打造的一款商业化 IDE。JetBrains 在 IDE 领域享有盛誉(旗下产品还包括 IntelliJ IDEA, PyCharm 等),GoLand 继承了其一贯的强大功能和优秀体验。

优点:

  • 开箱即用: 无需繁琐配置,安装后即可获得顶级的 Go 开发体验。
  • 智能的代码辅助: 拥有非常精准的代码补全、强大的重构能力和深入的代码分析功能,能帮助您写出更优雅、更健壮的代码。
  • 强大的调试工具: 提供了业界顶尖的可视化调试器,支持远程调试和核心转储分析。
  • 集成的开发工具: 内置了版本控制(Git)、数据库工具、Docker、Kubernetes 等开发者常用工具。
  • 对 Web 开发友好: 对前端技术(JavaScript, TypeScript, React 等)和数据库也有很好的支持,非常适合全栈项目。 缺点:
  • 收费: GoLand 是付费软件,但提供 30 天的免费试用。对于学生和开源项目贡献者有免费许可。
  • 资源占用: 作为一款功能齐全的 IDE,其内存和 CPU 占用会比轻量级编辑器更高。

3、第一个Go 程序

学习语言的第一个程序肯定是hello word了 。我将使用Goland 来演示如何创建项目。

1、创建项目

image.png
image.png
image.png
image.png

点击Create ,创建项目。Goland 会为我们创建两个初始文件。

  • go.mod : go.mod 文件是 Go 语言中用于支持模块(module)功能的配置文件,它位于项目的根目录下,主要用于声明以下内容: - 模块路径(module path):表示该模块的唯一标识,通常是一个仓库地址,例如 github.com/username/projectname。 - Go 版本(go version):指定该项目使用的 Go 语言版本,例如 go 1.20。 - 依赖管理(dependencies):列出该项目所依赖的其他模块及其版本 - 替换依赖(replace):可选字段,用于本地开发时替换远程依赖为本地路径。 - 排除依赖(exclude):可选字段,用于排除某些特定版本的依赖。
  • main.go :main.go 文件的作用是定义程序的执行起点,并实现一些初始逻辑(如打印信息、执行简单循环等)。它是 Goland 创建项目时自动生成的核心文件之一,用于快速启动和运行你的 Go 应用

我们可以执行 main.go 文件,看看程序是否可以跑起来。

image.png
image.png
image.png
image.png

这两个都可以运行程序。

image.png
image.png

2、Hello World

我们在项目目录下创建一个hello 的文件夹,然后再创建一个main.go 的文件。

2.1 创建源文件

首先,在你的 Go 项目中新建一个文件夹。

image.png
image.png

然后新建一个文件并将其命名为 hello.go。Go 语言的源码文件固定以 .go 作为后缀。

image.png
image.png
image.png
image.png

创建文件后,IDE 会自动生成一行代码:package hello

package 关键字用于声明当前文件所属的包。在 Go 中,每个源文件都必须声明其所属的包

与动态语言的差异: 与 Python 等动态语言不同,Go 的包名与文件名没有直接关系。在 Python 中,你可能会通过文件名来引用模块;但在 Go 中,引用是基于包名的,因此文件名本身并不重要。

2.2 编写可执行的代码

要编写一个可以独立运行的 Go 程序,必须遵循两条基本规则:

  1. 包名必须是 main
  2. 必须包含一个名为 main 的函数。

package mainfunc main() 两者共同构成了 Go 程序的唯一执行入口。

image.png
image.png

代码解析:

  • func 是定义函数的关键字。
  • import "fmt" 导入了名为 fmt 的标准库包,它提供了格式化 I/O 的功能。
  • fmt.Println("Hello, World!") 调用 fmt 包中的 Println 函数,将一行文本打印到控制台。Println 会自动在输出内容的末尾添加换行符。

注意: Go 程序的可执行代码必须放在 main 函数中。程序运行时会自动调用此函数,无需手动调用。这一点与许多静态语言类似,也是与动态语言的一个显著差异,后者通常允许在文件的顶层直接编写可执行代码。

3、运行程序

在 GoLand 直接右键点击文件,选择 “Run”。IDE 会先执行编译(Compiling),然后运行程序,并在其内置的控制台输出 "Hello, World!"。

image.png
image.png
image.png
image.png

4、调试程序

在 IDE 中,你可以在代码行号的左侧单击以设置断点,然后选择 “Debug” 模式运行。程序执行到断点处会暂停,此时你可以进行单步调试、检查变量状态等操作,这与其他主流语言的调试体验基本一致。

image.png
image.png
image.png
image.png
image.png
image.png

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、Go 安装
    • 1.1、下载地址
    • 1.2、安装
    • 1.3、验证
  • 2、Go 语言开发推荐编辑器
    • 1. Visual Studio Code (VS Code) - 强烈推荐
    • 2. GoLand - 功能最全面的 IDE
  • 3、第一个Go 程序
    • 1、创建项目
    • 2、Hello World
      • 2.1 创建源文件
      • 2.2 编写可执行的代码
    • 3、运行程序
    • 4、调试程序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档