分享
  1. 首页
  2. 文章

go run go build go install 命令解释

zyz770834013 · · 1767 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zyz770834013/article/details/78656985

go run:go run 编译并直接运行程序,它会产生一个临时文件(但不会生成 .exe 文件),直接在命令行输出程序执行结果,方便用户调试。

go build:go build 用于测试编译包,主要检查是否会有编译错误,如果是一个可执行文件的源码(即是 main 包),就会直接生成一个可执行文件。

go install:go install 的作用有两步:第一步是编译导入的包文件,所有导入的包文件编译完才会编译主程序;第二步是将编译后生成的可执行文件放到 bin 目录下($GOPATH/bin),编译后的包文件放到 pkg 目录下($GOPATH/pkg)。


示例:

首先设置环境变量,GOPATH 路径为:E:\Go\Work

然后在 E:\Go\Work 目录下分别创建 src、pkg、bin 目录

在 src 目录下创建 mypkg 目录,并在 mypkg 目录下创建 mypkg.go

在 src 目录下创建 mytest 目录,并在 mytest 目录下创建 mytest.go

(注意:官方建议,目录名应与包名相同,即 *.go 文件属于 package A,那么 *.go 文件应该存放在 src/A 目录下)

当前目录结构如下:

|--<Go>
 |--<Work>
 |--<src>
 |--<mypkg>
 |--mypkg.go
 |--<mytest>
 |--mytest.go
 |--<pkg>
 |--<bin>


mypkg.go 内容如下:
package mypkg
import "fmt"
func Myfunc() {
	fmt.Println("Myfunc")
}


mytest.go 内容如下:
package main
import "mypkg"
func main() {
	mypkg.Myfunc()
}



go run 命令测试:

进入到 src 目录下,依次执行 go run mytest/mytest.go 命令和 go run mypkg/mypkg.go 命令。


运行完毕后,没有产生额外文件。

mytest.go 为 main 包,所以可以运行;mypkg.go 不是 main 包,所以无法运行。


go build 命令测试:

进入到 src 目录下,执行 go build mypkg/mypkg.go 命令。


编译 mypkg.go 文件后,没有产生额外文件。


进入到 src 目录下,执行 go build mytest/mytest.go 命令。


编译 mytest.go 文件后,会在 src目录下(即当前目录下)生成 mytest.exe 文件,当前目录结构:

|--<Go>
 |--<Work>
 |--<src>
 |--<mypkg>
 |--mypkg.go
 |--<mytest>
 |--mytest.go
 |--mytest.exe
 |--<pkg>
 |--<bin>


删除 mytest.exe 文件,进行 go install 命令测试。


go install 命令测试:

进入到 mypkg 目录下,执行 go install 命令。(也可以在 src 目录下执行 go install mypkg 命令)


go install 命令执行后,在 $GOPATH/pkg/windows_amd64 目录下生成一个名字为 mypkg.a 的包文件。当前目录结构如下:

|--<Go>
 |--<Work>
 |--<src>
 |--<mypkg>
 |--mypkg.go
 |--<mytest>
 |--mytest.go
 |--<pkg>
 |--<windows_amd64>
 |--mypkg.a
 |--<bin>
删除 windows_amd64 目录继续测试。


进入到 mytest 目录下,执行 go install 命令。(也可以在 src 目录下执行 go install mytest 命令)


go install 命令执行后,在 $GOPATH/pkg/windows_amd64 目录下生成一个名字为 mypkg.a 的包文件,在 $GOPATH/bin 目录下生成一个名字为 mytest.exe 的可执行文件。当前目录结构如下:

|--<Go>
 |--<Work>
 |--<src>
 |--<mypkg>
 |--mypkg.go
 |--<mytest>
 |--mytest.go
 |--<pkg>
 |--<windows_amd64>
 |--mypkg.a
 |--<bin>
 |--mytest.exe



结合开头三个命令的定义,及之后的示例,即可理解三个命令的作用及使用方式。同时请注意标红的关键点。


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:zyz770834013

查看原文:go run go build go install 命令解释

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
1767 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏