go build与go install的区别

go build与go install

1.作用

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

  1. 相同点

都能生成可执行文件

  1. 不同点

go build 不能生成包文件, go install 可以生成包文件
go build 生成可执行文件在当前目录下, go install 生成可执行文件在bin目录下($GOPATH/bin)

  1. 使用

环境介绍
$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

编译 test2.go 在 pkg目录下生成包文件pack1.a
操作截图

添加新评论