深入理解 go build 和 go install
2018-12-12 本文已影响32人
曲镇
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目录
test1.go
package main
import "fmt"
func main(){
fmt.Println("test1")
}
test2.go
package pack1
import "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