日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

使用Go编译为可执行文件(windows/linux)

發(fā)布時間:2023/12/31 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Go编译为可执行文件(windows/linux) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

案例場景:創(chuàng)建一個兩層目錄,并在該目錄下創(chuàng)建一個文件,將“Hello World”字符寫入該文件,并讀取出來。

目標:(1)測試案例是否能執(zhí)行成功;(2)編譯代碼成windows與linux兩種環(huán)境下的可執(zhí)行文件。

測試代碼文件名為main.go,內容如下:

package mainimport ("fmt""io/ioutil""os" )func main() {// 文件夾名_dir := "data/test"exist, err := pathExists(_dir)if err != nil {fmt.Printf("get dir error![%v]\n", err)return}if exist {fmt.Printf("has dir![%v]\n", _dir)} else {fmt.Printf("no dir![%v]\n", _dir)// 創(chuàng)建文件夾//err := os.Mkdir(_dir, os.ModePerm)err := os.MkdirAll(_dir, 0666)if err != nil {fmt.Printf("mkdir failed![%v]\n", err)} else {fmt.Printf("mkdir success!\n")fileName := _dir + "/test.txt"// 創(chuàng)建文件os.Create(fileName)// 打開文件file, _ := os.OpenFile(fileName, os.O_WRONLY|os.O_APPEND, 0666)// 當執(zhí)行完,關閉文件defer file.Close()// 寫內容到文件中file.WriteString("Hello World!")//讀取文件data, _ := ioutil.ReadFile(fileName)// 打印內容fmt.Println(string(data))}} }func pathExists(path string) (bool, error) {_, err := os.Stat(path)if err == nil {return true, nil}if os.IsNotExist(err) {return false, nil}return false, err }

經過調試,上述代碼可正常執(zhí)行。測試通過。

編譯成windows環(huán)境exe可執(zhí)行文件過程,打開文件所在目錄,在資源路徑框中輸入cmd,打開cmd命令框,通過“go env”查看當期環(huán)境變量,以windows10環(huán)境為例,默認為windows環(huán)境。

// 配置環(huán)境變量 SET CGO_ENABLED=1 SET GOOS=windows SET GOARCH=amd64 // 編譯命令 go build main.go

編譯出來后就是一個可執(zhí)行文件main.exe,可用鼠標雙擊直接執(zhí)行,傳到其他電腦上操作,依然可執(zhí)行,不依賴第三方包(不像Java會依賴JDK)。

執(zhí)行后,在main.exe所在目錄下,生成一個data/test/test.txt,并且打開test.txt文件可看到Hello World。

編譯成Linux環(huán)境可執(zhí)行文件,此處除編譯環(huán)境參數(shù)外,其他步驟與上面類似,編譯參數(shù)如下

// 配置參數(shù) SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 // 編譯命令 go build main.go

編譯輸出的可執(zhí)行文件名為main,上傳至centos7.x系統(tǒng),使用 “chmod +x main”添加可執(zhí)行權限,執(zhí)行 "?./main? ",輸出結果與上述windows結果一樣。

備注:上述編譯環(huán)境所在的操作系統(tǒng)均為Windows10,即在windows10上開發(fā)代碼,編譯輸出windows與linux兩種環(huán)境的可執(zhí)行文件。

總結

以上是生活随笔為你收集整理的使用Go编译为可执行文件(windows/linux)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。