初识golang
环境配置
这里通过debian为例进行介绍go在linux系统下的环境配置
1.下载go的二进制包
# 示例:下载 Go 1.25.1 (请替换为最新版本链接)
wget https://go.dev/dl/go1.25.1.linux-amd64.tar.gz
2.解压安装包到指定的路径
/user/local 这个路径是标准和推荐的安装位置
# 删除可能存在的旧版本
sudo rm -rf /usr/local/go
# 解压新的压缩包
sudo tar -C /usr/local -xzf go1.22.1.linux-amd64.tar.gz
3.配置环境变量
# 编辑配置文件
nano ~/.bashrc# 在文件末尾添加以下行
export PATH=$PATH:/usr/local/go/bin
进行保存文件并进行退出。
更新环境便令配置
source ~/.bashrc
4.验证环境的安装
go version
# 预期输出: go version go1.25.1 linux/amd64
出现预期输出的结果就证明go环境已经配置完成啦,可以进行go语言的编程之旅了。
第一个go程序
package main
import "fmt"func main(){fmt.Println("Hello golang")
}
这虽然是最简单的go程序,但也要知其然知其所以然
package关键字:
用于声明当前文件属于哪个包,main又是一个特殊的包,只有包的命名为main时,才是告诉go的编译器:请帮我把这个程序编译成一个可执行程序,而不是一个库
- 对比一下:如果你在写一个可以被其他程序调用的工具库,你可能会把它命名为
package utils
或package mylib
。但只有package main
才能生成一个可以直接运行的文件。
import关键字:
这也是一个关键字,用于 导入(import) 其他包。因为我们不可能把所有功能都写在一个文件里,Go 允许我们导入标准库或者其他人写好的库,来使用它们提供的功能。
"fmt"
: 这是我们导入的包的名称。fmt
是 Go 标准库(Standard Library) 中的一个包,它的名字是 "format" 的缩写。这个包提供了大量用于格式化输入和输出的功能,比如打印文本到屏幕、从用户那里读取输入等。
在 C++ 语言中,这类似于 #include <iostream>
。
func关键字:
声明这是一个函数
golang的执行流程
go run 源文件
作用:编译 + 立即执行。
过程:
Go 会先把指定的源码编译成一个临时的可执行文件(通常放在系统临时目录中)。
立刻运行这个临时文件。
运行结束后,临时文件会被删除。
go build 源文件
作用:编译成可执行文件(或库),但不自动运行。
过程:
根据源码和依赖生成一个二进制文件,保存在当前目录或
-o
指定位置。你可以随时手动运行该二进制文件。
适合发布或长期使用。
go的语法注意事项
我本人是比较熟悉C/C+的,这里通过和C++进行类比来记录,建议也通过和比较熟悉的语言来类比来看
- 源文件是以“go”为扩展名的,就像c++中是以cpp为扩展名一样
- go源程序的函数结合和C++一样都是以main函数为程序的入口的
- go语言也是严格区分大小写的
- go语言各个语句之间是和C++不同的,语句之间是不通过分号来进行结尾的,也就是说go的编译器是通过行来进行判断语句结束的,所以每一行只能有一个语句,否则报错
- 定义的变量和包如果没有用到,则编译是编不过的,这相对于C++来说可以理解成编译器更严格一些
关于go中的注释
Go支持c语言风格的/**/块注释,也支持c++风格的//行注释。行注释更通用,块注释主要用于针对包的详细说明或者屏蔽大块的代码
(1)行注释 // VSCode快捷键:ctrl+/ 再按一次取消注释
(2)块注释(多行注释) /**/ VSCode快捷键:shift+alt+a 再按一次取消注释
注意:块注释中不可以嵌套块注释
提示:官方推荐使用行注释 //
代码风格
缩进
- 向后缩进:Tap
- 向前取消缩进:Shift + Tap
- 通过gofmt命令进行调整缩进
# 直接修改文件
gofmt -w myfile.go# 只打印格式化结果到标准输出(不修改文件)
gofmt myfile.go# 递归格式化当前目录下所有 Go 源文件
gofmt -w .# 显示和当前文件的差异(diff 模式)
gofmt -d myfile.go
大多数 IDE/编辑器(VS Code、GoLand、Vim 等)保存时自动调用
gofmt
或go fmt
。在 CI/CD 中也常用
go fmt ./...
来保证代码一致。
运算符
运算符两边通过空格进行间隔
注释
官方是推荐通过 // 来进行注释,上面也有进行介绍过,通过 /**/ 也是可以的
行长约定
一行最长不超过80个字符,超过的请使用换行展示,尽量保持格式优雅
API
文档
Go语言提供了大量的标准库,因此 google 公司也为这些标准库提供了相应的API文档,用于告诉开发者如何使用这些标准库,以及标准库包含的方法。官方位置:https://golang.org
Golang中文网在线标准库文档: https://studygolang.com/pkgdoc
在Linux下go还提供了官方用于进行查看文档的命令
go doc <包名>.<函数名>
文档中对应的函数源码
还是使用 go doc
命令
这是 Go 官方提供的最直接、最便捷的命令行方式,强烈推荐首选此方法。
go doc
命令不仅可以查看文档,加上 -src
参数后可以直接在终端显示函数的源代码。
步骤:
- 打开你的终端。
- 使用以下格式的命令:
go doc -src <包名>.<函数名>