深入理解 go build 和 go install

16,559 阅读1分钟

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 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

最后

文中如有表述不清之处,请在下面留言,我会第一时间进行完善。

编者希望能给大家带来更多优质的文章;上述内容对你有帮助的话,请帮我点个赞,谢谢!