找回密码
立即注册
搜索
发回帖 发新帖

6380

积分

0

好友

779

主题
发表于 2 小时前 | 查看: 4| 回复: 0

系列:《Go 1.27 入门实战-博客》
阶段:第一阶段——认识 Go,从 Hello World 开始
本文目标:从零安装 Go 开发环境,创建第一个 Go 项目,成功运行 Hello, Go!


第一次接触编程,最容易卡住的往往不是代码,而是环境:安装包该选哪个?装完怎么确认成功?代码应该存在哪里?为什么教程里的命令在自家电脑上跑不起来?

这一篇不讲复杂原理,只做一件事:跟着步骤,把第一个 Go 程序真正跑起来。

完成本文后,你应该能够:

  • 安装 Go 1.27 系列
  • 在终端中查看 Go 版本
  • 使用编辑器创建 .go 文件
  • 理解 go.mod、package main、import、func main() 和 fmt.Println 的基本作用
  • 使用 go run 运行程序
  • 使用 go build 编译程序

版本提示:截至 2026 年 10 月 9 日,Go 官方下载页提供的稳定版本为 Go 1.27.2。本文按 Go 1.27 系列的最新补丁版本演示。下载时请以官方页面显示的稳定版本为准。

一、先准备好两样东西

开始之前,准备好:

1. Go:包含运行和编译 Go 程序所需要的工具链。

2. 代码编辑器:本文推荐免费的 Visual Studio Code(简称 VS Code)。你也可以用其他文本编辑工具,但初学阶段建议跟随同一种编辑器,减少不必要的差异。

先记住一个简单区别:

  • Go 是编程语言及其开发工具链。
  • VS Code 是用来编写和管理代码的编辑器。

安装 VS Code 并不等于安装了 Go;反过来,只安装 Go,也不代表你已经备好了顺手的编辑环境。

二、下载并安装 Go 1.27

第 1 步:打开 Go 官方下载页面

请使用官方地址:https://go.dev/dl/

下载页面会列出不同操作系统和处理器架构对应的安装包。选择时,重点看三个信息:

  1. 操作系统:Windows、macOS 或 Linux
  2. 处理器架构:常见的是 x86-64(也写作 AMD64)和 ARM64
  3. 安装包类型:Windows 通常选择 .msi,macOS 通常选择 .pkg,Linux 常见的是 .tar.gz 压缩包

不要下载名称中带有 src 的源码包来做普通安装。源码包主要用于需要自行编译 Go 工具链的场景,初学者一般用不到。

第 2 步:根据电脑选择安装包

Windows

大多数普通的 64 位 Windows 电脑,可以选择类似下面名称的安装包:

go1.27.2.windows-amd64.msi

如果你用的是 Windows on ARM 设备,应选择相应的 ARM64 安装包。拿不准时,可以打开 Windows 的“设置 → 系统 → 关于”,查看“系统类型”。

下载完成后:

  1. 双击 .msi 文件
  2. 按安装向导提示继续
  3. 初学者通常保持默认安装位置即可
  4. 安装完成后,关闭已经打开的 PowerShell、命令提示符和 VS Code 终端,再重新打开

Go 的 Windows 安装程序会处理常见的安装配置。不要因为暂时找不到某个设置,就先去手动修改系统环境变量。 先完成安装并验证,遇到问题再排查。

macOS

在官方页面选择 macOS 对应的安装包:

  • Apple 芯片的 Mac(例如 M 系列):通常选择 arm64
  • Intel 芯片的 Mac:选择 amd64

下载 .pkg 安装包后,双击打开并按照安装向导完成安装。安装后新开一个“终端”窗口进行验证。

Linux

Linux 通常使用 .tar.gz 压缩包。请在官方页面选择与你的 Linux 系统及处理器架构匹配的安装包,然后严格按照 Go 官方安装说明执行:

https://go.dev/doc/install

如果系统里已经装过 Go,升级前先确认旧版本安装在哪里。官方文档特别提醒:不要把新版本直接解压到已经存在的 /usr/local/go 目录中,否则可能留下不完整或混杂的安装。不要不看路径就复制删除命令;确认旧安装位置后,再按官方说明更新。

完成安装后,按官方文档配置 PATH,重新打开终端,再继续下一步。

三、验证安装是否成功

安装程序结束,不代表命令行一定已经能找到 Go。现在来检查。

第 1 步:打开终端

  • Windows:打开“开始”菜单,搜索 PowerShell 并打开
  • macOS:打开“终端”(Terminal)
  • Linux:打开你常用的终端程序

终端可以理解为一个通过输入命令来操作电脑的窗口。这里不需要你会写代码,只需输入下面的命令。

第 2 步:输入版本检查命令

go version

按下回车。如果安装成功,你会看到类似这样的输出:

go version go1.27.2 windows/amd64

不同系统的最后一部分会不同。例如,macOS 可能出现 darwin/arm64,Linux 可能出现 linux/amd64。

其中:

  • go1.27.2 表示 Go 工具链版本
  • windows、darwin 或 linux 表示操作系统
  • amd64 或 arm64 表示处理器架构

核对重点:输出中的版本应当是你安装的版本。如果下载页面已经提供更新的 Go 1.27.x 补丁版本,以官方页面为准,不必执着于示例里的 1.27.2。

如果终端提示找不到 go 命令,先不要急着重装。可以先看本文后面的“常见问题排查”。

第 3 步:检查 Go 工具是否可用

再输入:

go env GOROOT

这条命令会输出 Go 工具链所在的目录。不同电脑上的结果会不同,不需要和示例路径完全一致。

到这里,如果 go version 能正确显示版本,说明我们已经迈过了第一个关卡。关于 Go 环境的搭建与后续工程化实践,如果你希望更系统地掌握从语法到 安装 Go 1.27 系列 的完整路径,可以同步参考云栈社区的相关实战课程。

四、安装 VS Code,准备写代码

VS Code 官方网站:https://code.visualstudio.com/

如果你已经有自己熟悉的 Go 编辑器,可以继续用;如果还没有,建议按下面的步骤操作。

第 1 步:安装 VS Code

  1. 打开 VS Code 官方网站
  2. 下载适合自己操作系统的版本
  3. 安装并启动

第 2 步:安装 Go 扩展

在 VS Code 左侧找到“扩展”(Extensions)入口,搜索:

Go

选择由 Go Team at Google 发布的 Go 扩展并安装。也可以通过扩展市场页面查看:

https://marketplace.visualstudio.com/items?itemName=golang.Go

这个扩展可以为 Go 代码提供语法提示、格式化等开发辅助功能。第一次打开 Go 文件时,如果 VS Code 提示安装推荐的 Go 工具,可以按提示安装。

请注意:扩展是编辑器的辅助工具,不会替代 Go 本身。 前面安装好的 Go 工具链依然需要保留。

五、创建第一个 Go 项目

现在开始写代码。

第 1 步:创建项目文件夹

打开终端,逐行输入:

mkdir hello
cd hello

这两条命令的意思是:

  • mkdir hello:创建一个名为 hello 的文件夹
  • cd hello:进入这个文件夹

接下来所有操作都在 hello 文件夹中完成。

如果系统提示文件夹已经存在,不用重复创建。进入你准备好的项目目录即可。

第 2 步:初始化 Go 模块

在当前目录执行:

go mod init example.com/hello

成功时会看到类似提示:

go: creating new go.mod: module example.com/hello

然后,项目文件夹中会多出一个名为 go.mod 的文件。

go.mod 是什么?

先把它理解为当前 Go 项目的“基本信息和依赖清单”。

它用于记录模块路径、项目所使用的 Go 语言版本要求,以及项目依赖的其他模块等信息。随着后面的项目逐渐变大,go.mod 会变得更加重要。这里的 example.com/hello 是教程使用的示例模块路径,并不要求你现在购买域名或创建网站。

执行 go mod init 后,Go 会自动生成 go.mod。第一次练习时不要手动改动其中的版本行,保留工具生成的内容即可。 想深入理解 初始化 Go 模块 在后续 Web 框架与微服务开发中如何演进,可以后续再逐步接触。

第 3 步:用 VS Code 打开项目文件夹

打开 VS Code,在菜单中选择“文件 → 打开文件夹”,然后选择刚才创建的 hello 文件夹。

左侧文件列表中应该能看到 go.mod。

如果看不到它,先确认 VS Code 打开的是 hello 文件夹,而不是它的上一级目录。

第 4 步:创建 main.go

在 VS Code 左侧文件列表中,新建一个文件,文件名必须是:

main.go

注意:扩展名必须是 .go。不要保存成 main.go.txt。

把下面的代码完整复制进去:

package main

import "fmt"

func main() {
    fmt.Println("Hello, Go!")
}

保存文件。Windows 和 macOS 中通常可以按 Ctrl + S 或 Command + S 保存。

恭喜,你已经写出了第一个 Go 程序。先别急着背语法,我们只解释理解这段代码所必需的几部分。

六、读懂这 5 行代码

1. package main

package main

package 用来声明当前 Go 文件属于哪个包。可以暂时把包理解为组织 Go 代码的一种方式。

当我们要编写一个可以直接运行的应用程序时,通常会把入口文件声明为 package main。这个名称是固定写法,不能随意换成其他名字后还期待它按同样方式启动。

2. import "fmt"

import "fmt"

import 用来引入代码需要使用的包。

fmt 是 Go 自带的标准库包,提供格式化输入和输出等功能。我们这次要在屏幕上显示一行文字,所以需要使用它。

3. func main()

func main() {
    // 程序从这里开始执行
}

func 用来声明函数。main 是这个可执行程序的入口函数。

你可以先把它理解成:运行这个程序时,电脑会从 main 函数里的语句开始执行。花括号 {} 之间的内容就是这个函数的主体。

4. fmt.Println("Hello, Go!")

fmt.Println("Hello, Go!")

这行代码会在终端输出:

Hello, Go!

拆开来看:

  • fmt:我们引入的标准库包
  • Println:用于输出内容,并在末尾换行
  • "Hello, Go!":要输出的文本,双引号表示这是一个字符串

Go 区分大小写,所以 Println 的大小写必须正确。这里的英文逗号、感叹号都属于字符串内容。

5. 为什么结尾没有分号?

你可能发现,每行结尾都没有写分号。在常见的 Go 代码中,通常不需要像某些语言那样在每条语句末尾显式添加分号。照着本文的代码写就可以,不要额外补上分号。

七、运行程序:使用 go run

现在让代码运行起来。

确保终端当前位于 hello 项目文件夹中,也就是能看到 go.mod 和 main.go 的目录。

执行:

go run .

按回车后,预期会看到:

Hello, Go!

这里的 . 表示当前目录。go run . 会让 Go 运行当前目录中的主程序包。

如果你只想直接运行这个单独的文件,也可以使用:

go run main.go

不过从本教程开始,建议优先使用 go run .,因为后面项目会逐渐包含多个 Go 文件。

go run 做了什么?

第一次学习时,只需要记住:

go run 负责构建并运行程序,让你快速看到结果。

它很适合写完代码后马上验证,不需要先手动生成一个可执行文件。

如果终端显示 Hello, Go!,说明 Go 安装、项目初始化、代码保存和运行流程都已经串通了。

八、编译程序:使用 go build

运行成功后,再尝试编译。

在项目目录下执行:

go build

正常情况下,命令结束时不会输出很多内容,也不一定会显示“成功”字样。这是正常的。

回到项目文件夹查看,你会看到生成的可执行文件:

  • Windows 通常是 hello.exe
  • macOS 或 Linux 通常是 hello

这个文件就是编译后的程序。之后即使不输入 go run,也可以直接运行它。

Windows PowerShell:

.\hello.exe

macOS / Linux:

./hello

运行后,你应该再次看到:

Hello, Go!

go run 和 go build 有什么不同?

可以用一句话区分:

  • go run .:构建并立即运行,适合日常练习
  • go build:构建出可执行文件,适合检查能否编译以及生成程序文件

初学阶段先熟练掌握这两个命令就够了。

九、初学者常见问题排查

如果某一步没有成功,先按照下面的情况逐项检查。不要一次修改很多东西,否则更难找到真正的问题。

问题 1:提示“go 不是内部或外部命令”或“command not found”

这通常表示终端暂时找不到 Go 命令。

按顺序检查:

  1. 确认 Go 安装确实完成,没有只下载安装包却没运行安装程序
  2. 关闭已经打开的终端,再重新打开
  3. 如果在 VS Code 的内置终端运行,关闭并重新启动 VS Code
  4. 仍然不行,再按照官方安装说明检查 PATH 环境变量

不要先随意添加多个 Go 安装目录。电脑上有多个旧版本时,错误的路径顺序也可能导致系统使用了另一个版本。

问题 2:显示的版本不是自己安装的版本

先重新运行:

go version

如果显示了其他版本,电脑可能存在多个 Go 安装位置,或终端还在使用旧的路径配置。

Windows 可以在 PowerShell 中执行:

where.exe go

macOS / Linux 可以执行:

which -a go

这些命令会帮助你查看系统找到的 Go 命令位置。先确认路径再处理,不要直接删除看起来陌生的目录。

问题 3:提示找不到 go.mod

如果你执行 go run . 时看到了与 go.mod 有关的错误,常见原因是当前终端不在项目目录中。

执行:

pwd

在 Windows PowerShell 和 macOS / Linux 终端中,这个命令通常可以显示当前目录。确认自己进入了包含 go.mod 和 main.go 的 hello 文件夹。

如果你还没有初始化项目,请在项目根目录执行:

go mod init example.com/hello

如果项目已经有 go.mod,不要重复执行初始化命令。

问题 4:提示找不到 main.go

请确认文件名和保存位置:

  • 文件名是 main.go
  • 它位于 hello 项目文件夹中
  • 文件确实已经保存
  • 不是 main.go.txt 这样的文件名

Windows 文件资源管理器可能默认隐藏已知文件类型的扩展名。如果看起来叫 main.go 却无法识别,可以开启“显示文件扩展名”进行检查。

问题 5:提示语法错误

请先将 main.go 与本文的代码逐行对照,尤其检查:

  • 第一行是不是 package main
  • import "fmt" 是否拼写正确
  • main、Println 的大小写是否正确
  • 双引号和花括号是否成对
  • 代码是否完整复制并保存

编程中的标点符号也很重要。请使用英文半角引号和括号,不要用中文全角标点代替代码中的符号。

问题 6:运行后没有看到预期输出

先确认你运行的是:

go run .

然后检查 main.go 是否包含:

fmt.Println("Hello, Go!")

保存文件后再次运行。注意,go build 主要负责编译,不会自动把程序的输出展示出来;需要运行生成的可执行文件才能看到输出。

十、动手练习:改一改你的第一个程序

只复制代码还不够。现在请自己修改一次。

把 main.go 中的这一行:

fmt.Println("Hello, Go!")

改成:

fmt.Println("我开始学习 Go 了!")

保存文件,然后运行:

go run .

如果终端显示:

我开始学习 Go 了!

就说明你已经能自己修改程序并验证结果了。

再做一个小挑战:让程序输出两行文字。在 main 函数里再增加一行 fmt.Println,例如:

package main

import "fmt"

func main() {
    fmt.Println("Hello, Go!")
    fmt.Println("这是我的第一个 Go 程序。")
}

再次执行 go run .,检查是否输出了两行。如果成功,本文的实战目标就完成了。

十一、本篇小结

今天我们没有追求一次学完所有语法,只完成了一条最重要的入门路径:

安装 Go → 验证版本 → 创建项目 → 初始化模块 → 编写代码 → 运行程序 → 编译程序。

请记住这几个关键词:

  • go version:查看当前使用的 Go 版本
  • go mod init:初始化 Go 模块,生成 go.mod
  • package main:声明可执行程序使用的主包
  • import "fmt":引入用于输出文字的标准库包
  • func main():可执行程序的入口函数
  • fmt.Println:把文字输出到终端
  • go run .:构建并运行当前目录中的程序
  • go build:编译并生成可执行文件

如果你成功看到了 Hello, Go!,那你已经从“还没有写过代码”,迈到了“能够亲手运行一个程序”。

下一篇,我们将继续学习 Go 的基础语法,从变量、常量和基本数据类型开始。暂时不需要把所有规则背下来,跟着代码练习,理解会一点点建立起来。后续遇到环境搭建、模块管理或项目工程化的问题,也欢迎到 云栈社区 查找更多实战经验和技术讨论。

官方参考资料

  • Go 官方下载页面
  • Go 官方安装指南
  • Go 官方入门教程:Get started
  • Go 官方教程:创建 Go 模块
  • Go 1.27 官方发布说明



上一篇:字节 Seed 团队发现 DeepSeek-V4 周期弱点:4 Token 相位敏感性与 KV Cache 压缩机制解读
下一篇:Anthropic 承认 AI 智能体失控:测试环境学会报假警、钻漏洞,对齐训练不够用
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-18 07:50 , Processed in 0.136093 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表