参考书籍:
《深入浅出 Go 语言核心编程》

这是一本从基础到进阶的 Go 语言学习手册,涵盖语法、内存原理、并发、框架应用等核心内容(比如 Gin 框架),既适合 Go 新手入门,也适合有经验的开发者深入理解底层机制。
第一个Go程序
搭建开发环境
官方下载地址:https://golang.google.cn/dl/
安装完成后在命令行执go version 可以检验安装结果。
jack@Jacks-MacBook-Air ~ % go version
go version go1.25.0 darwin/arm64第一个Go程序
写一个Hello World程序。
在任意文件家下创建一个文件——first.go。
package main
import "fmt"
func main() {
fmt.Println("Hello, Golang!")
}这个程序有三部分内容:
package main:声明包名,告诉编译程序这个文件是程序的主文件
import "fmt":导入其他包,比较特殊的是“fmt”是一个相对路径,它指安装程序所在位置的/src目录下的所有内容。
func main():这是主函数,是程序开始的地方,一个程序只能有一个主函数,其中的fmt...输出了以句话——Hello, Golang!
关于第2点
可以在命令行种执行“go env GOROOT”以查看程序的安装位置。
写完程序之后,我们在命令行切换到程序所在的目录,输入go run first.go,就可以执行程序了。
% go run first.go
Hello, Golang!这里的run命令其实是两个步骤的结合,它包含build和执行两步。因为go语言是编译型语言,所以编译器首先要把我们写的.go后缀的文件转成电脑可以执行的二进制文件,才能执行。
% go build first.go
% ls -l
total 4640
-rwxr-xr-x@ 1 jack staff 2371298 12 10 10:11 first
-rw-r--r--@ 1 jack staff 75 12 10 09:52 first.go
% ./first
Hello, Golang!这里first文件比源代码大很多,是因为它包含了支撑go运行的其他代码。
在IDE中运行程序
我使用的是VScode,我们可以在插件中心里安装下图的一个插件,它可以提供go语言的一些支持,比如不用输入命令就能运行程序。

Go语言的跨平台执行
Go语言具备跨平台的能力,也就是说我们的程序只写一份,然后就针对不同操作系统输出针对性的可执行文件。
环境变量可以告诉我们当前编译的目标系统。
% go env GOOS GOARCH
darwin
arm64运行go tool dist list可以查看支持的所有系统。
% go tool dist list
aix/ppc64
android/386
android/amd64
...
darwin/amd64
...
windows/amd64
...这样我们就能通过设置不同的环境变量来控制输出的编译文件。
% export set GOOS=windows GOARCH=amd64
% go build first.go
% ls -l
total 9184
-rwxr-xr-x@ 1 jack staff 2371298 12 10 10:30 first
-rwxr-xr-x@ 1 jack staff 2324992 12 10 10:31 first.exe
-rw-r--r--@ 1 jack staff 75 12 10 09:52 first.go