9.运维11.后端

Go语言_go install 与 go build 的区别

2018-07-13  本文已影响0人  asadadasw

相同

都可以生成可执行文件

不同

go install 能生成包
go build 不能生成包

实验证明以上相同和不同

go install

先install一下helloworld
在命令行输入

cd D:\go\src\helloworld
go install

我们会发现

  1. D:\go\bin 存在,如果之前不存在,go install 会创建这个文件
  2. D:\go\bin 里边有新生成的 helloworld.exe,运行它,输出helloworld

再install一下sayhello
在命令行输入

cd D:\go\src\sayhello
go install

我们会发现

  1. D:\go\pkg\sayhello 存在,如果之前不存在,go install 会创建这个文件
  2. D:\go\pkg\sayhello 里边有新生成的 sayhello.a,它是包文件,不能运行

现在我们有了 sayhello.a 这个包
我们就能install一下helloworld2了
在命令行输入

cd D:\go\src\helloworld2
go install

我们会发现

  1. D:\go\bin 存在,如果之前不存在,go install 会创建这个文件
  2. D:\go\bin 里边有新生成的 helloworld2.exe,运行它,输出helloworld2

go build

先build一下helloworld
在命令行输入

cd D:\go\src\helloworld
go build

我们会发现

  1. D:\go\bin并没有被 go build 修改过,go build 与 D:\go\bin 的变化没关系
  2. D:\go\src\helloworld 里边有新生成的 helloworld.exe 文件,其大小与之前install出来的一样,运行此 helloworld.exe,输出helloworld

再build一下sayhello
在命令行输入

cd D:\go\src\sayhello
go build

我们会发现

  1. D:\go\pkg\sayhello 并没有被 go build 修改过,go build 与 D:\go\pkg\sayhello 的变化没关系
  2. D:\go\src\sayhello 里边也没有新生成的 sayhello.a 文件
  3. 好像 go build 什么也没做

最后再build一下helloworld2
在命令行输入

cd D:\go\src\helloworld2
go build

我们会发现

  1. D:\go\bin并没有被 go build 修改过,go build 与 D:\go\bin 的变化没关系
  2. D:\go\src\helloworld2 里边有新生成的 helloworld2.exe 文件,其大小与之前install出来的一样,运行此 helloworld2.exe,输出helloworld2

结论

上一篇下一篇

猜你喜欢

热点阅读