1. 安装
官网: https://go.dev
下载对应版本后安装
go version
验证
安装 VSCode 插件 Go
若插件不生效, 考虑从官网重新安装
开启后可能需要等待一段时间代码提示才会生效
2. 创建项目
1 2 3 4
| mkdir <项目名> cd <项目名>
go mod init github.com/<账号名>/<模块名>
|
- 每个模块之间相对独立, 使用 github 唯一路径标识方便被其他人调用
- 模块创建完之后会创建
go.mod
文件, 用于记录依赖项
3. HELLO WORLD
1 2 3 4 5 6 7 8 9 10 11
|
package main
import ( "fmt" )
func main() { fmt.Println("HELLO WORLD") }
|
4. 编译运行
编译当前目录下的所有 .go
文件后运行
5. 常见用法
1. 变量定义
1 2 3 4 5
| a := 1 var a = 1
var a int fmt.Printf("%T", a)
|
2. 与或非
3. 判断语句
1 2 3 4 5 6 7
| if a > 10 { } else if a > 5 { } else { }
|
4. 循环语句
1 2 3 4 5 6 7 8 9 10
| for i := 1; i < 5; i++ { }
i := 1 for i < 5 { i++ }
|
5. 函数
1 2 3 4 5 6 7 8
| func sum(a int, b int) int { return a + b }
func swap(a int, b int) (int, int) { return b, a }
|
6. 数据结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| a := [5]int{} a := [5]int{1, 2, 3}
s := []int{} s = append(s, 1)
m := map[string]int{ "a": 1, "b": 2, }
m := gin.H{ "name": "Alice", "age": 30, }
|
7. 其他语法
- panic: 遇到严重错误, 直接抛出错误终止程序
- defer: 函数退出前一定会执行的代码
- 详细打印复杂类型
1
| fmt.Printf("%#v\n", user)
|
参考
a. BV1HW4y1n7BF