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)文章
Go微服務(wù)網(wǎng)關(guān)的實現(xiàn)
本文主要介紹了Go微服務(wù)網(wǎng)關(guān)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
淺析Go中函數(shù)的健壯性,panic異常處理和defer機(jī)制
這篇文章主要為大家詳細(xì)介紹了Go中函數(shù)的健壯性,panic異常處理和defer機(jī)制的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-10-10
Go語言實現(xiàn)簡單的一個靜態(tài)WEB服務(wù)器
這篇文章主要介紹了Go語言實現(xiàn)簡單的一個靜態(tài)WEB服務(wù)器,本文給出了實現(xiàn)代碼和運行效果,學(xué)習(xí)Golang的練手作品,需要的朋友可以參考下2014-10-10
Go語言實現(xiàn)權(quán)重抽獎系統(tǒng)的項目實踐
本文主要介紹了Go語言實現(xiàn)權(quán)重抽獎系統(tǒng)的項目實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04

