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