Go?Build編譯打包文件的完整步驟
1、簡單打包
程序 main1.go:
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}打包:
# 在linux服務(wù)上執(zhí)行下面的3個(gè)命令 # linux平臺(tái),生成main1可執(zhí)行程序 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main1.go # windows平臺(tái),生成main1.exe可執(zhí)行程序 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main1.go # mac平臺(tái),生成main1可執(zhí)行程序 CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main1.go
執(zhí)行:
$ ./main1 Hello World!
2、打包時(shí)為程序中的變量設(shè)置值
程序 main2.go :
package main
import "fmt"
var (
VERSION string
BUILD_TIME string
GO_VERSION string
)
func main() {
fmt.Printf("%s\n%s\n%s\n", VERSION, BUILD_TIME, GO_VERSION)
}打包:打包方式和上面一樣,這里只介紹linux下的打包。
# 在linux服務(wù)上執(zhí)行下面的命令 # linux平臺(tái),生成main2可執(zhí)行程序 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-X main.VERSION=1.0.0 -X 'main.BUILD_TIME=`date`' -X 'main.GO_VERSION=`go version`'" main2.go
執(zhí)行:
# 輸出的時(shí)間為打包時(shí)的時(shí)間 $ ./main2 1.0.0 2023年 06月 14日 星期三 10:13:06 CST go version go1.18.4 linux/amd64
3、打包時(shí)指定名稱
# 生成linux-main1可執(zhí)行文件 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o linux-main1 main1.go
$ ./linux-main1 Hello World!
go build的時(shí)候還有別的其它參數(shù),如果有需要請查詢相關(guān)文檔。
總結(jié)
到此這篇關(guān)于Go Build編譯打包文件的文章就介紹到這了,更多相關(guān)Go Build編譯打包文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入理解Golang之http server的實(shí)現(xiàn)
這篇文章主要介紹了深入理解Golang之http server的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
GO語言實(shí)現(xiàn)簡單的目錄復(fù)制功能
這篇文章主要介紹了GO語言實(shí)現(xiàn)簡單的目錄復(fù)制功能,通過新建及復(fù)制內(nèi)容等操作最終實(shí)現(xiàn)復(fù)制目錄的功能效果,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
Go語言中利用http發(fā)起Get和Post請求的方法示例
這篇文章主要給大家介紹了關(guān)于Go語言中利用http發(fā)起Get和Post請求的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11
一文掌握Golang的panic和recover實(shí)戰(zhàn)
Go語言中,異常處理通常依賴error返回值,本文將通過示例展示如何在Go語言中正確使用recover來處理panic異常,防止程序直接崩潰,感興趣的朋友跟隨小編一起看看吧2024-09-09

