有些編譯器是分32位和64位,比如gcc,雖然操作系統(tǒng)是64位的,但是我們可以安裝32位的gccgolang也是這個樣子的嗎
2 回答

互換的青春
TA貢獻1797條經(jīng)驗 獲得超6個贊
首先,你的開發(fā)機上安裝的go肯定是與你機器的操作系統(tǒng)和體系結(jié)構(gòu)相匹配的.你要問的,應(yīng)該是交叉編譯的概念.可以看一下GOOS和GOARCH兩個環(huán)境變量是如何配置的.GOOS確定了目標操作系統(tǒng),GOARCH確定了目標體系結(jié)構(gòu).

夢里花落0921
TA貢獻1772條經(jīng)驗 獲得超6個贊
肯定是分的,但我們不用關(guān)心,go命令已經(jīng)封裝好了,它會依據(jù)平臺選擇不同的底層命令。在go安裝目錄的pkg目錄下有個tools目錄,里面包含了編譯鏈接時實際使用的命令,比如我的MacPro,在pkg/tool/darwin_amd64/下能找到go編譯鏈接實際調(diào)用的命令compile和link。darwin_amd64中drawin表示操作系統(tǒng),amd64就是系統(tǒng)架構(gòu)。至于在64位上機器上安裝32位的Go能不能用,我就不太清楚了,你可以測試下,按理是可以的,但實踐才是檢驗真理的唯一標準,測試下也不是很麻煩。還有,如果是想在64位機器上編譯32位的程序,可以使用交叉編譯。$GOOS=windowsGOARCH=386gobuildindex.go