Go 语言入门指南:从零开始写你的第一个 Go 程序
在众多编程语言中,Go(又叫 Golang)凭借高性能、简洁语法、并发支持的特点,越来越受到开发者的欢迎。很多云原生项目(如 Docker、Kubernetes)都是用 Go 编写的。
如果你是编程初学者,或者只是想学习一门新语言,Go 是一个非常好的选择。下面,我们从零开始,一步一步写出你的第一个 Go 程序。
1. 为什么选择 Go?
Go 的设计目标很明确:高效开发 + 高效执行 。
它的几个优点:
- 语法简洁:比 Java/C++ 要干净很多,新人学习成本低。
- 性能接近 C:编译为机器码,运行速度比 Python、JavaScript 快不少。
- 内置并发:用 goroutine 就能轻松写并发程序。
- 跨平台:一次编译,多系统运行(Linux、Windows、Mac 都可以)。
2. 安装 Go 环境
你可以到 Go 官方网站 下载对应系统的安装包。
安装完成后,运行:
bash
go version
如果能看到类似输出:
go version go1.22.0 windows/amd64
说明安装成功 🎉。
3. Go 程序的基本结构
一个最小的 Go 程序大概是这样:
go
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}
代码解释:
package main
:每个 Go 程序都从main
包开始。import "fmt"
:引入标准库的fmt
包,用来打印内容。func main()
:程序的入口函数。fmt.Println(...)
:打印一行内容。
运行它:
bash
go run hello.go
输出:
Hello, Go!
4. 变量与数据类型
Go 是静态类型语言,但语法非常简洁。
go
package main
import "fmt"
func main() {
var name string = "小明"
age := 20 // Go 会自动推断类型
height := 1.75
fmt.Println("名字:", name)
fmt.Println("年龄:", age)
fmt.Println("身高:", height)
}
运行输出:
makefile
名字: 小明
年龄: 20
身高: 1.75
5. 控制语句
Go 支持常见的 if
和 for
,但是没有 while。
go
package main
import "fmt"
func main() {
score := 85
if score >= 60 {
fmt.Println("及格啦!")
} else {
fmt.Println("没及格,再努力!")
}
// for 循环
for i := 1; i <= 3; i++ {
fmt.Println("第", i, "次循环")
}
}
6. 函数
函数是 Go 的核心组成部分。
go
package main
import "fmt"
func add(a int, b int) int {
return a + b
}
func main() {
result := add(3, 5)
fmt.Println("3 + 5 =", result)
}
7. 并发初体验(goroutine)
Go 的亮点之一就是并发编程 。只要在函数前加 go
关键字,就能开启一个新的 goroutine。
go
package main
import (
"fmt"
"time"
)
func sayHello(name string) {
for i := 1; i <= 3; i++ {
fmt.Println("Hello,", name, i)
time.Sleep(time.Second)
}
}
func main() {
go sayHello("Alice")
go sayHello("Bob")
time.Sleep(4 * time.Second) // 主程序等一会儿
fmt.Println("程序结束")
}
运行后你会看到 Alice 和 Bob 的输出交替出现,这是 goroutine 的魅力所在。
8. 总结
今天我们简单介绍了 Go 语言的:
- 基本语法结构
- 变量与类型
- 控制语句
- 函数
- 并发
Go 的哲学是"少即是多",它没有太复杂的语法糖,却能帮助你快速写出高性能、可靠的程序。
如果你有兴趣,可以继续深入学习 Go 的切片(slice)、map、struct、接口(interface),以及更高级的并发模型。