手记

深入理解 go build 和 go install

1.作用

go build:用于测试编译包,在项目目录下生成可执行文件(有main包)。

go install:主要用来生成库和工具。一是编译包文件(无main包),将编译后的包文件放到 pkg 目录下($GOPATH/pkg)。二是编译生成可执行文件(有main包),将可执行文件放到 bin 目录($GOPATH/bin)。

2. 相同点

都能生成可执行文件

3. 不同点

  • go build 不能生成包文件, go install  可以生成包文件

  • go build 生成可执行文件在当前目录下, go install 生成可执行文件在bin目录下($GOPATH/bin

3. 使用

环境介绍

$GOPATH/pkg 即图片中的 pkg 目录
$GOPATH/bin 即图片中的 bin目录
$GOPATH/src 即图片中的 src目录

了解更多关于 go 的环境变量

test1.go

package mainimport "fmt"func main(){
    fmt.Println("test1")
}

test2.go

package pack1import "fmt"func test () {
    fmt.Println("test2")
}

使用go build

F:\go>cd src\example

F:\go\src\example>go build

在example目录下生成可执行程序 example.exe


使用 go install

F:\go>cd src\example
F:\go\src\example>go install

编译 test1.go 在 bin 目录下生成可执行文件example.exe


F:\go>cd src\example\pack1

F:\go\src\example\pack1>go install

编译 test1.go 在 pkg目录下生成包文件pack1.a



作者:mrqiaoyu
链接:https://www.jianshu.com/p/3db831d9b553


3人推荐
随时随地看视频
慕课网APP