前言
之前的文章,我們已經搭建了Go語言環境,可以戳這裡:手把手帶你進行Golang環境配置,還實作了第一個Go程式,本次我們來安排一下如何實作跨平台編譯。
跨平台編譯,也叫交叉編譯,我可以在win平台上,編譯成linux平台可執行的檔案。
這也是Go備受青睐的原因,像java,python,php等語言,我們開發一般是在win平台上開發,部署的時候在linux上部署,在處理第三方依賴是比較麻煩,不僅開發累,運維也累,雖然現在有docker解決了這個痛點,但是應該還是沒原生來的舒服。
如果使用Go的話,不管是什麼第三方依賴,最終隻會打包成一個可執行檔案,直接部署即刻,并且是高并發方式,心再大一點,連Nginx都不用,但是一點不用擔心并發問題。
示例
在win平台上編譯成linux平台可執行檔案。<code>cmd</code>下依次執行以下指令:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CMzImM5MDOyYWYkBzNhR2MwMGNihDZmljYiZGOhJTNj9CX3AzLclDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL1M3Lc9CX6MHc0RHaiojIsJye.png)
然後執行<code>go build</code>,得到的就是能夠在linux上,可執行的檔案。
我現在将這個檔案上傳到我的雲伺服器上,如下圖所示。
之後執行,可以看到,我雲伺服器上連Go環境都沒,但是仍然可以執行成功。
Windows下編譯Mac平台64位可執行程式:
Mac 下編譯 Linux 和 Windows平台 64位 可執行程式:
Linux 下編譯 Mac 和 Windows 平台64位可執行程式:
結尾
本文到此就先告一段落咯。這篇文章主要介紹了Go語言跨平台編譯的概念和具體實作,下篇文章正在籌備中
------------------- End -------------------
、