3 回答

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
Go1.5開發(fā)環(huán)境依賴Go1.4版本作為引導(dǎo),因?yàn)镚o1.5使用Go本身來編譯安裝Go,所以必須保證服務(wù)器上已經(jīng)安裝Go1.4,這完全是為了解決先有雞還是先有蛋的問題,當(dāng)然如果你想避免編譯安裝1.4也可以直接使用二進(jìn)制包。
在這里假設(shè)你希望將go1.5安裝到$HOME/go1.5目錄下,只需要以下幾步:
下載Go1.5的源碼放到$HOME/go1.5目錄下
在安裝Go1.5之前需要將Go1.4放到$HOME/go1.4下面或者export GOROOT_BOOTSTRAP=/go1.4安裝目錄/
到$HOME/go1.5/src/下執(zhí)行all.bash即可
我習(xí)慣將軟件安裝至/usr/local/下,以下為我安裝Go1.5(/usr/local/go1.5)的步驟:
wget https://storage.googleapis.com/golang/go1.5.1.src.tar.gz
tar zxvf go1.5.1.src.tar.gz
mv ./go /usr/local/go1.5
wget https://storage.googleapis.com/golang/go1.4.3.src.tar.gz
tar zxvf go1.4.3.src.tar.gz
mv ./go /usr/local/go-bootstrap1.4/
cd /usr/local/go-bootstrap1.4/src
./all.bash //編譯安裝Go1.4,有可能test不通過,只要編譯通過,test可忽略,目的是需要go1.4的二進(jìn)制包來編譯1.5
cd /usr/local/go1.5/src
GOROOT_BOOTSTRAP=/usr/local/go-bootstrap1.4 ./all.bash
//可在環(huán)境變量中添加GOROOT_BOOTSTRAP,然后再編譯Go1.5
以下為網(wǎng)摘:
From C to Go
The gc tool chain is being converted from C to Go.
An ongoing process, started early 2014.
Russ Cox says "It'll be done by March [2015]."
New link tool to replace 6l, 8l, etc.
New asm tool to replace 6a, 8a, etc.
Machine-translated gc to replace 6g, 8g, etc.
Design doc:
golang.org/s/go13compiler
Go 1.5 will have no C code in the tool chain or runtime.
Go語言將使用Go代替C重寫運(yùn)行時(shí)環(huán)境
Go 1.4 的合并窗口在 9 月份將關(guān)閉,從現(xiàn)在開始到12月份發(fā)布 Go 1.4 之前將只接受 bug 修復(fù)和小調(diào)整。
Go 1.4 最主要的變化是將使用 Go 語言本身來重寫 Go 的運(yùn)行時(shí),而之前是采用 C 語言開發(fā)。這也是為什么 Go 的發(fā)行版中包含一個(gè) C
編譯器的原因。
使用 Go 重寫的好處是:
當(dāng)前如果在 Goroutine 的調(diào)用堆棧中發(fā)現(xiàn) C 代碼,runtime 將在需要增長堆棧時(shí)回滾到老的堆棧方法。如果使用 Go 來重寫
runtime,那么堆棧拷貝的方法就會(huì)更加高效
目前轉(zhuǎn)換工作只計(jì)劃轉(zhuǎn) Go 編譯器 (5g, 6g, 8g), 而不是 C 編譯器,降低運(yùn)行時(shí)中的 C 代碼行數(shù),甚至可能完全清除
注意
這是 golang.org 分發(fā)版,也就是 gc ,而不是 gccgo
這是不同的 C 編譯器,gc 工具鏈將使用你系統(tǒng)的 C 編譯器來編譯,gc 運(yùn)行時(shí)則使用它的 C 編譯器來編譯
8月20日后增加的轉(zhuǎn)換行可能跟 this request 有關(guān).
Go語言將使用Go代替C重寫運(yùn)行時(shí)環(huán)境

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊
1.最簡單的方法: public static String reverse1(String str) { return new StringBuffer(str).reverse().toString(); } 2.最常用的方法: public static String reverse3(String s) { char[] array = s.toCharArray(); String reverse = ""; /...

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊
你要在mac里安裝go的編譯環(huán)境
然后 把要編譯的文件復(fù)制過去
話說go好像支持跨平臺編譯
安裝go語言 之前貌似要先安裝gcc 還要設(shè)置環(huán)境變量
- 3 回答
- 0 關(guān)注
- 1003 瀏覽
添加回答
舉報(bào)