from http://golang.org
最近寫多篇與OS開發相關超硬的文章,來學習Go 語言換換口味輕鬆一下吧!參考英文說明,寫了以下心得:
使用平台為Mac OS X 10.6.8 + Xcode 4.2
前言
Go 程式語言是一個開放源碼的專案,以BSD-style授權發佈。
它以通用語言作為系統設計基礎想法。在強調於型別、垃圾回收及明確定義支持Concurrent程式設計的語言功能等等。並提供大量套件 ,提高寫程式效率。目前支援x86及ARM處理器,一個64位元及32位元x86的編譯套件(6g和8g),及支援ARM的編譯套件(5g)。
開發環境設定
安裝 Mercurial (hg)
sudo easy_install mercurial(註:easy_install 是python所內附一個好用安裝第三方工具的python腳本)
Mercurial versions 1.7.x 需要設定檔來指定憑證授權 Certification Authorities (CAs). 在筆者機器遇到下列警示訊息:
warning: go.googlecode.com certificate with fingerprint 28:92:... not verified (check hostfingerprints or web.cacerts config setting)
這表示你所使用的Mercurial沒有正確設定CAs. 參考configure the CAs一文,進行設定。
以下是OSX 10.6以上版本的設定
openssl req -new -x509 -extensions v3_ca -keyout /dev/null -out dummycert.pem -days 3650
使用openssl命令建立替代憑證(設定內容隨意打)
接著使用下列指令將dummycert.pem複製到/etc
sudo cp dummycert.pem /etc/hg-dummy-cert.pem
最後在~/.hgrc 或go/.hg/hgrc內容加入下列兩行。
[web] cacerts = /etc/hg-dummy-cert.pem
下載Go 正式發佈版本源碼
hg clone -u release https://go.googlecode.com/hg/ go
編譯Go
你將需要安裝Xcode,其中包含GCC, C libraries ...
$ cd go/src $ ./all.bash
如果沒任何錯誤發生,訊息如下:
ALL TESTS PASSED --- Installed Go for darwin/amd64 in /Users/you/go. Installed commands in /Users/you/Go/bin. *** You need to add /Users/you/Go/bin to your $PATH. *** The compiler is 6g.
最後幾行顯示你的系統資訊,硬體架構,和所安裝的目錄,你需要將此目錄加到搜尋路徑中。詳請參閱英文文章環境變數environment variables.
使用Go來編譯Hello範例
$ make 6g hello.go hello.go:2: can't find import: fmt |
錯誤發生原因沒有指定環境變數。
筆者指定下列環境變數後,總算編譯成功。
export PATH=~/Go/bin:$PATH
export GOROOT=$HOME/Go
export GOARCH=386
export GOOS=darwin
export GOBIN=$HOME/Go/bin
執行結果
hello 範例可由此下載。
歡迎留言分享心得。
筆者指定下列環境變數後,總算編譯成功。
export PATH=~/Go/bin:$PATH
export GOROOT=$HOME/Go
export GOARCH=386
export GOOS=darwin
export GOBIN=$HOME/Go/bin
$ make 6g hello.go 6l -o hello hello.6 |
執行結果
$ make run ./hello hello, world |
hello 範例可由此下載。
歡迎留言分享心得。
沒有留言:
張貼留言