go的三個常用命令
go run
go build
go install
命令源碼文件:含有 main函數 的文件
庫源碼文件:不包含 main函數 的文件, 主要用於編譯成靜態文件.a供其他包調用
構建:編譯
安裝:編譯+鏈接
go run
: 用於對命令源碼文件做 編譯+鏈接 操作產生 臨時 的可執行程序並執行. 一般用於調試程序
go build
: 用於測試編譯包
對 庫源碼文件 go build, 不會產生文件, 只是測試編譯包是否有問題
對 命令源碼文件 go build, 會在當前執行 go build 命令的目錄下產生可執行文件
`go install : 用於 構建+安裝 包
對 庫源碼文件 go install, 直接編譯鏈接整個包, 會在pkg目錄下生成.a靜態文件, 供其他包調用.
對 命令源碼文件 go install, 編譯+鏈接+生成可執行文件, 會在bin目錄下生成可執行文件.
注意
go build
:
-
針對單個go文件構建, [
go build .\mypkg\hello.go
] 只會對單個文件編譯檢查報錯. -
針對整個文件夾構建, [
go build .\mypkg
] 會對整個文件夾的文件編譯檢查報錯.(如果多個文件有錯誤, 當遇到第一個文件編譯報錯就停止了,后面的不會編譯)
測試代碼結構
hello.go 的路徑 src\mypkg\hello.go
package mypkg
import "fmt"
func Hello() {
fmt.Println("hello")
}
say.go 的路徑 src\mypkg\say.go
package mypkg
import "fmt"
func Say() {
fmt.Println("say")
}
hello.go 的路徑 src\mytest\mytest.go
package main
import "mypkg"
func main() {
mypkg.Hello()
}