go build
1: 写代码 xx.go 文件保存(有些编译器默认不自动保存,编译报错,比如 vs code,但是idea 就自动保存,切换编译器 有时候可能会忽略)
2: 使用 go build 命令 编译文件, 生成了 可执行文件(window 是 xx.exe ,Mac 是 unix可执行文件)
在该源文件目录下,通过 go build 对 hello.go 文件进行编译。可以指定生成的可执行文件名
在 windows 下 必须是 .exe 后缀,Mac下不用
如果程序没有错误, 没有任何提示, 会在当前目录下会出现一个可执行文件(windows 下是.exe Linux 下是一个可执行文件),
该文件是二进制码文件,也是可以执行的程序。
如果程序有错误,编译时,会在错误的那行报错,有助于程序员调试错误
3: 使用命令 运行 可执行文件即可
(window 双击 / 命令直接 输入 xx.exe , Mac 就要像Linux 、Unix 一样,要加【 ./ 】即 ./xx )
go run
类似 一个脚本 : 编译 + 执行 一起做了,所以你可以直接查看结果,这也是 你写demo 或者 网上视频老师讲课 愿意使用的命令,但是你能明显 看出来 go run 命令会很慢(因为有编译的过程)
二者区别
面试可能会问,就像Java要考你 javac A.java / java A同理
会不会并不影响你搬砖,但是不会就是你的不对,就是你基础不行,人家diss你一点毛病没有
1) 如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有 go 开发环境的机器上,仍然可以运行
2) 如果我们是直接 go run 源代码,那么如果要在另外一个机器上这么运行,也需要 go 开发环境,否则无法执行。
3) 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多。