🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#### 包初始化流程 ``` package main import ( "fmt" "runtime" ) //1.先初始化函数 func init() { fmt.Printf("map: %v\n", m) info = fmt.Sprintf("os: %s, arch: %s", runtime.GOOS, runtime.GOARCH) } //2.然后初始化全局变量 var m = map[int]string{1:"A", 2:"b", 3:"c"}//已初始化 var info string //未初始化 //3.最后执行main函数 func main() { fmt.Println(info) } 执行结果: map: map[1:A 2:b 3:c] os: darwin, arch: amd64 ``` #### go build ``` 编译生成计算机可识别的二进制文件 go文件------go build(编译)-----exe----执行 指定可执行文件的文件名 go build -o 文件名.exe hello.go ``` #### go run ``` 编译运行一步 ``` #### 区别 ``` 1.编译生成的可执行文件,在没有go开发环境的机器上也可以运行 2.编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以可执行文件变大了 ```