golang 基础

7/16/2020 golang

# 语法

文档地址:https://golang.org/doc/

包文档:https://golang.org/pkg/

# 运行 go 项目

使用 go run

$ cat main.go
package main

func main() {
    println("hello world")
}
$ go run main.go
hello world
1
2
3
4
5
6
7
8

# 编译 go 项目

使用 go build

$ cat main.go
package main

func main() {
    println("hello world")
}
$ go build  -a -v -o main main.go
runtime/internal/sys
runtime/internal/atomic
internal/cpu
runtime/internal/math
internal/bytealg
runtime
command-line-arguments
$ ./main
hello world
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

编译器选项

go build -ldflags "-w -s -X main.Version=${VERSION} -X main.Build=${BUILD}"
1
选项 作用
-w 去掉调试信息,无法使用gdb调试二进制文件了
-s 去掉符号表,panic时候的不展示任何文件名/行号
-X 设置包中的变量值,其值来自环境变量

# 其它编译参数

参数 作用
-v 编译时显示包名
-p n 开启并发编译,默认情况下该值为 CPU 逻辑核数
-a 强制重新构建
-n 打印编译时会用到的所有命令,但不真正执行
-x 打印编译时会用到的所有命令
-race 开启竞态检测
Last Updated: 4/4/2023, 2:33:27 AM