Go 语言零基础入门:编写第一个 Hello World 程序

文章目录

  • [Go 语言零基础入门:编写第一个 Hello World 程序](#Go 语言零基础入门:编写第一个 Hello World 程序)
    • 一、前置准备(回顾+补充)
    • [二、编写第一个 Go 程序(Hello World)](#二、编写第一个 Go 程序(Hello World))
      • [步骤 1:在 VS Code 中打开工作目录](#步骤 1:在 VS Code 中打开工作目录)
      • [步骤 2:新建 Go 源文件](#步骤 2:新建 Go 源文件)
      • [步骤 3:编写代码(复制即可,后续逐行解释)](#步骤 3:编写代码(复制即可,后续逐行解释))
      • [步骤 4:初始化模块(关键步骤,必做)](#步骤 4:初始化模块(关键步骤,必做))
      • [步骤 5:运行程序,查看结果](#步骤 5:运行程序,查看结果)
        • [方式 1:VS Code 内直接运行(推荐新手)](#方式 1:VS Code 内直接运行(推荐新手))
        • [方式 2:终端命令运行(熟悉 Go 命令)](#方式 2:终端命令运行(熟悉 Go 命令))
    • 三、逐行解释代码(零基础必看)
    • 四、常见问题排查(新手必看)
    • 五、总结与下一步预告

Go 语言零基础入门:编写第一个 Hello World 程序

大家好~ 上一篇博客我们已经完成了 Go 语言的安装和 VS Code 开发环境的配置,这一篇就正式开启 Go 语言的学习之旅!对于零基础来说,学习任何一门编程语言,第一个里程碑都是写出「Hello World」程序------它不仅能帮我们验证环境是否真的配置成功,还能快速熟悉 Go 程序的基本结构,建立学习信心,话不多说,跟着步骤一步步来就好!

一、前置准备(回顾+补充)

在开始编写代码前,先确认一下我们的环境是可用的,避免后续出现不必要的问题:

  1. Go 环境已安装:打开终端(Windows 用 CMD 或 PowerShell,Mac/Linux 用终端),输入 go version,如果能显示类似 go version go1\.22\.0 windows/amd64 的信息,说明 Go 安装成功。

  2. VS Code 配置完成:确保已经安装了「Go」插件(由 Google 官方开发),插件安装后重启 VS Code,后续编写代码会有语法提示、自动补全,非常方便。

  3. 创建工作目录:Go 语言对项目结构有一定规范,我们先创建一个专门的 Go 学习目录(比如命名为 GoStudy),后续所有的学习代码都放在这个目录下,方便管理。

小贴士:零基础不用死记硬背目录规范,先跟着做,后续学到模块和包的时候,再回头理解为什么要这样建目录就好~

二、编写第一个 Go 程序(Hello World)

这一步是核心,我们分 4 个小步骤来,每一步都讲清楚,保证零基础也能看懂、会操作。

步骤 1:在 VS Code 中打开工作目录

  1. 打开 VS Code,点击左上角「文件」→「打开文件夹」,选择我们刚才创建的 GoStudy目录,点击「确定」。

  2. 此时 VS Code 左侧会显示这个目录,我们在这个目录下,新建一个文件夹,命名为 hello(用来存放当前 Hello World 相关的代码,每个案例单独建文件夹,后续不会混乱)。

步骤 2:新建 Go 源文件

在左侧「hello」文件夹上右键,选择「新建文件」,文件名输入 main\.go ------ 这里有两个关键点要注意:

  • 文件名必须是 main\.go:Go 语言中,程序的入口文件必须命名为 main\.go,后续我们会知道,这和程序的执行入口有关。

  • 后缀必须是 \.go:这是 Go 语言源文件的固定后缀,就像 Word 文件后缀是\.docx 一样,告诉计算机这是一个 Go 代码文件。

  • 文件名必须是 main\.go:Go 语言中,程序的入口文件必须命名为 main\.go,后续我们会知道,这和程序的执行入口有关。

  • 后缀必须是 \.go:这是 Go 语言源文件的固定后缀,就像 Word 文件后缀是\.docx 一样,告诉计算机这是一个 Go 代码文件。

步骤 3:编写代码(复制即可,后续逐行解释)

打开新建的 main\.go 文件,粘贴下面的代码(建议新手先复制运行成功,再慢慢理解每一行的含义):

go 复制代码
// 第一个 Go 程序:Hello World
package main

import "fmt"

func main() {
    fmt.Println("Hello World! 我是零基础学 Go 的小白~")
}

粘贴完成后,VS Code 会自动识别 Go 语法,代码会有颜色高亮(如果没有高亮,检查一下 Go 插件是否安装成功,重启 VS Code 即可)。

步骤 4:初始化模块(关键步骤,必做)

很多零基础同学会疑惑"为什么别人要执行go mod init,我直接运行会报错?",这里明确说明:Go 1.16及以上版本(目前主流版本,包括最新的Go 1.26),必须初始化模块才能正常运行程序,之前未提及是为了先聚焦代码本身,现在补充这关键一步,避免运行报错。

操作步骤(两种方式任选其一,和后续运行方式对应):

  1. 打开终端(VS Code内的终端也可以,点击下方「终端」→「新建终端」)。

  2. 输入命令,进入 hello 文件夹:cd hello(如果目录不在当前路径,需要先进入 GoStudy 目录,再执行 cd hello)。

  3. 输入初始化命令:go mod init hello,按下回车(init 后面的"hello"是模块名,可随便命名,比如"helloworld""go-first"都可以,不影响程序运行)。

  4. 执行成功后,hello 文件夹下会自动生成一个 go\.mod 文件,这个文件是Go模块的配置文件,后续导入第三方包、管理依赖都会用到它。

小贴士:如果跳过这一步,直接运行程序,大概率会提示「go: cannot find main module; see 'go help modules'」,这就是模块未初始化的错误,执行上述go mod init命令即可解决。

步骤 5:运行程序,查看结果

模块初始化完成后,我们用两种方式运行程序,新手优先掌握第一种(VS Code 内运行),更简单。

运行 Go 程序有两种方式,我们都试一下,新手优先掌握第一种(VS Code 内运行),更简单。

方式 1:VS Code 内直接运行(推荐新手)
  1. 确保光标在main\.go 文件内(随便点击一下文件内容)。

  2. 点击 VS Code 右上角的「运行」按钮(绿色三角形),或者使用快捷键 Ctrl\+F5(Windows)/ Command\+F5(Mac)。

  3. 确保光标在main\.go 文件内(随便点击一下文件内容)。

  4. 点击 VS Code 右上角的「运行」按钮(绿色三角形),或者使用快捷键 Ctrl\+F5(Windows)/ Command\+F5(Mac)。

  5. 此时 VS Code 下方会出现「终端」面板,面板中会显示运行结果:Hello World\! 我是零基础学 Go 的小白~

方式 2:终端命令运行(熟悉 Go 命令)
  1. 打开终端(VS Code 内的终端也可以,点击下方「终端」→「新建终端」)。

  2. 输入命令,进入 hello 文件夹:cd hello(如果目录不在当前路径,需要先进入 GoStudy 目录,再执行 cd hello)。

  3. 输入运行命令:go run main\.go,按下回车,终端会立即显示运行结果。

恭喜!当你看到终端中出现 Hello World 的内容时,说明你已经成功写出了第一个 Go 程序,迈出了 Go 学习的第一步!

三、逐行解释代码(零基础必看)

刚才我们复制了代码并运行成功,但每一行代码是什么意思?零基础不用怕,我们逐行拆解,用最通俗的话讲明白,不涉及复杂概念:

  1. // 第一个 Go 程序:Hello World

    这是「注释」,注释是给人看的,计算机不会执行这一行。作用是备注代码的功能,方便自己或别人后续查看代码,Go 语言中用 // 表示单行注释。

  2. package main

    「package」是 Go 语言的关键字,意思是「包」,可以理解为「文件夹」,用来分类管理代码。

「main」是一个特殊的包名,代表这个包是「可执行程序」的入口------只有包名为 main 的文件,才能用 go run 命令运行。如果包名不是 main,这个文件就只能被其他程序引用,不能单独运行。

  1. import \&\#34;fmt\&\#34;
    「import」也是关键字,意思是「导入」,用来引入 Go 语言自带的或第三方的代码包,方便我们使用别人已经写好的功能。

「fmt」是 Go 语言自带的「格式化输入输出包」,里面包含了打印、输入等功能,我们后面用到的 fmt\.Println就是这个包里面的函数。

简单说:导入 fmt 包,我们才能实现「打印文字到终端」的功能。

  1. func main\(\)
    「func」是关键字,意思是「函数」,函数是 Go 语言的基本执行单元,相当于一个「代码模块」,用来实现某个具体功能。

「main」是一个特殊的函数名,是整个程序的「执行入口」------程序运行时,会先找到 main 函数,然后从 main 函数里面的代码开始执行。

「()」里面是函数的参数,这里 main 函数没有参数,所以括号里是空的;后面的\{\} 里面,就是 main 函数要执行的代码。

  1. fmt\.Println\(\&\#34;Hello World\! 我是零基础学 Go 的小白~\&\#34;\)
    这是 main 函数里面的核心代码,也是我们程序的功能:打印一句话到终端。

「fmt.Println」:fmt 是我们导入的包,「.」表示「调用这个包里面的功能」,「Println」是 fmt 包里面的「打印函数」,作用是打印括号里的内容,并且打印完后自动换行。

括号里的 \&\#34;Hello World\! \.\.\.\&\#34; 是「字符串」,用双引号包裹,里面就是我们要打印的文字。

  1. \}
    闭合 main 函数的代码块,告诉计算机,main 函数的代码到这里就结束了。Go 语言中,大括号 \{\} 用来划分代码块,必须成对出现,而且格式要规范(建议跟着 VS Code 的自动缩进走,不要自己乱缩进)。

四、常见问题排查(新手必看)

第一次写代码,很容易出现小错误,导致程序运行失败,这里总结几个最常见的问题,帮你快速排查:

  • 错误 1:终端提示「go: cannot find main module; see 'go help modules'」

解决方法:这是因为 Go 模块未初始化(核心原因),在终端进入 hello 文件夹,执行命令 go mod init hello(init 后面的 hello 可以随便命名,是模块名),执行完成后会生成 go.mod 文件,再重新运行 go run main\.go 即可。目前主流的 Go 1.16 及以上版本(包括最新的 Go 1.26),必须初始化模块才能正常运行程序,这是新手最容易忽略的一步。

  • 错误 2:代码中出现红色波浪线,提示「undefined: fmt」

解决方法:检查是否导入了 fmt 包(有没有写 import \&\#34;fmt\&\#34;),如果导入了还是报错,重启 VS Code,或者重新安装 Go 插件。

  • 错误 3:运行后没有任何输出,或者提示语法错误

解决方法:检查代码格式,比如大括号是否成对、分号是否遗漏(Go 语言会自动补充分号,但新手建议跟着示例代码的格式写)、字符串的双引号是否闭合。

  • 错误 4:文件名不是 main.go

解决方法:将文件重命名为 main.go,因为只有 main.go 才能作为程序入口文件,其他文件名无法用 go run 直接运行。

五、总结与下一步预告

到这里,我们就完成了第一个 Go 程序的编写和运行,回顾一下重点:

  • Go 程序的入口文件是 main\.go,入口包是 main,入口函数是 main\(\)

  • 要实现打印功能,需要导入 fmt 包,使用 fmt\.Println\(\) 函数。

  • 运行 Go 程序有两种方式:VS Code 内运行、终端用 go run main\.go 运行,且运行前需先执行 go mod init 模块名 初始化模块(Go 1.16及以上版本必做)。

对于零基础来说,这一步的核心不是记住所有概念,而是「跑通程序」,建立信心。当你能成功运行 Hello World,就已经打败了很多半途而废的人啦!

下一步,我们会学习 Go 语言的基础语法------变量与数据类型,这是编程的基石,也是写出更复杂程序的前提。下一篇博客《Go 语言基础语法:变量、常量与数据类型详解》,我们继续加油~

最后,如果你在运行程序时遇到了其他问题,欢迎在评论区留言,我们一起解决!

(注:文档部分内容可能由 AI 生成)

相关推荐
一点一一2 小时前
nestjs+langchain:大模型的基本调用、对message的
人工智能·后端
沐知全栈开发2 小时前
Rust 数据类型
开发语言
NineData2 小时前
NineData将亮相2026德国汉诺威工业博览会
运维·数据库·后端
jieyucx2 小时前
Go 语言基础语法:变量、常量与数据类型详解
开发语言·后端·golang
光影少年2 小时前
Python+LangGraph学习路线及发展前景
开发语言·人工智能·python·学习
刘 大 望2 小时前
RAG相关技术介绍及Spring AI中使用--第三期
java·人工智能·后端·spring·机器学习·ai·aigc
NOCSAH2 小时前
统好AI:Java技术生态下的智能知识管理新选择
java·开发语言·人工智能
穗余2 小时前
Rust——println!后面的感叹号什么意思【宏】
开发语言·python·rust