Go语言学习笔记 01——第一个Go程序

Go语言学习笔记 01——第一个Go程序

 次点击
10 分钟阅读

参考书籍:

《深入浅出 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!")
}

这个程序有三部分内容:

  1. package main:声明包名,告诉编译程序这个文件是程序的主文件

  2. import "fmt":导入其他包,比较特殊的是“fmt”是一个相对路径,它指安装程序所在位置的/src目录下的所有内容。

  3. 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

© 本文著作权归作者所有,未经许可不得转载使用。