hello world

初始化项目

执行 go mod init example/hello 命令,example/hello 是 module 名称

1
go mod init example/hello

执行后,会在当前目录生成一个 go.mod 文件,类似前端的 package.json, 用于描述项目内容及依赖。

hello world

hello world

下面先写一个最简单的 hello world 程序,通过这个例子快速了解 Go 的基础语法结构和运行方式。

code

首先在电脑上找一个方便管理的文件夹,在这个文件夹里新建一个 main.go 文件。打开文件后在文件中输入以下内容:

1
2
3
4
5
6
7
package main

import "fmt"

func main() {
fmt.Println("Hello World")
}

这里对代码里的关键部分做简单解释,方便理解:

  • package:表示的是包名称,这里写 main 是因为 Go 语言规定,只有属于 main 包的程序才能被编译成可执行文件,非 main 包的代码只能作为库被其他程序引用;

  • import: 是导入包的语句,这里导入的 fmt 是 Go 标准库自带的包,专门用于处理输入和输出操作,比如控制台打印、数据格式转换等;

  • func: 是声明函数的关键字,在 Go 里所有函数都需要用 func 来定义;

  • main: 是主函数,一个 Go 程序必须有且只有一个 main 函数,它是程序的入口 —— 程序启动后,会从 main 函数的第一行代码开始执行;

  • fmt.Println (“Hello World”): 这行代码的作用是调用 fmt 包中的 Println 函数,在控制台输出 “Hello World” 这句话,并且输出后会自动换行(如果用 fmt.Print 则不会自动换行)。

输出结果

代码写好后,就可以运行程序看结果了。首先打开电脑的终端,通过 cd 文件夹路径的命令,切换到 main.go 所在的文件夹。

切换到目标文件夹后,执行以下两个命令中的任意一个即可运行程序:

  • 直接指定文件运行:go run main.go
  • 运行当前目录下的所有相关程序(适合只有一个入口文件的场景):go run .

正常情况下,命令执行后,终端会立即输出 “Hello World”,效果如下:

hello world

如果运行时提示 “go: command not found”,说明没有配置 Go 环境变量,需要先检查电脑是否正确安装 Go 语言,以及安装后是否配置了 GOROOT 和 PATH 环境变量。

导入第三方包

Go 语言有丰富的第三方包资源,https://pkg.go.dev 是官方的包管理网站,所有公开的第三方包都会在这里收录,大家可以在这个网站上搜索已发布的包,查看包的文档、用法和版本信息。下面以常用的 rsc.io/quote 包(专门用于生成各类引用语句的工具包)为例,教大家如何导入和使用第三方包。

使用包

首先还是修改之前的 main.go 文件,在 import 部分新增 rsc.io/quote 包的导入,同时把原来输出 “Hello World” 的代码,替换成调用 quote.Go() 函数(这个函数会返回一句和 Go 语言相关的经典引用)。修改后的代码如下:

1
2
3
4
5
6
7
8
9
10
11
package main

import (
"fmt"

"rsc.io/quote"
)

func main() {
fmt.Println(quote.Go())
}

这里需要注意,导入多个包时,用 () 把所有包名括起来,这样代码更整洁,这是 Go 语言推荐的写法(也可以写成多行 import 语句,但不推荐)。

此时,如果你用的是 VS Code、GoLand 这类 IDE,可能会在 rsc.io/quote 这行代码下面出现红色波浪线,这是因为这个第三方包还没有下载到你的电脑上,IDE 找不到对应的包文件,所以会提示错误。这种情况不用慌,只要在终端执行 go get 或者 go mod tidy 这两个命令中的任意一个,就能自动下载并安装这个包。

  • 执行 go get 命令时,需要加上包名,完整命令是 go get rsc.io/quote,它会直接下载指定的包;

  • 执行 go mod tidy 命令则更方便,不需要加包名,它会自动检查代码中用到的所有第三方包,下载缺失的包,同时删除项目中用不到的依赖包,推荐新手用这个命令。

执行命令后,IDE 中的红色波浪线会消失,效果如下:

hello world

依赖安装完成后,大家可以去 main.go 所在的文件夹看看,会发现多了两个文件:

  • go.mod:这个文件会记录项目的模块名称、Go 语言版本,以及项目依赖的所有第三方包的名称和版本信息,相当于项目的 “依赖清单”;

  • go.sum:这个文件是依赖包的校验文件,里面记录了每个依赖包的版本和哈希值,用来确保每次下载的包都是相同的,避免因包版本不一致或包被篡改导致的问题。

这时候再像之前那样运行程序(执行 go run main.go 或 go run .),就能看到 quote.Go() 函数输出的内容了,比如会输出 “Don’t communicate by sharing memory, share memory by communicating.” 这句话,这就说明第三方包已经成功调用了。


hello world
https://blog.pangcy.cn/2025/10/27/后端编程相关/go/go语言基础/hello world/
作者
子洋
发布于
2025年10月27日
许可协议