2009年11月11日

GOLANG:google 的程式語言:安裝

剛好看到最近 google 發布了自己開發的程式語言 go,擁有 c/c++/python 的特性,因此我就特地灌來玩玩。

官方網站在這 The Go Programming Language,基本上裡面也有安裝和教學,不過我自己實做的時候發現少了一兩步,google 之後才發現有另外的解法。

以下的實做系統是 Ubuntu 9.04 2.6.28 32bit

根據官方網站 How To 中的 Install Go

1. 必須先在環境變數中加入底下四個變數

$GOROOT:下載 go source code 與 complie 的路徑

$GOOS:目標的作業系統:linux、darwin(Mac OS X 10.5 or 10.6)、nacl(Native Client, an incomplete port)

$GOARCH:目標的版本:amd64 (64-bit x86, the most mature port), 386 (32-bit x86), and arm (32-bit ARM, an incomplete port). The valid combinations are linux/amd64, linux/arm, linux/386, darwin/amd64, darwin/386, and nacl/386.

$GOBIN(選用):編譯後 complier 的路徑,預設為 $HOME/bin 請記得要加入到你的 $PATH 設定中

這邊是我的設定檔,請修改並加在你的 ~/.bashrc 檔案中

export GOROOT=$HOME/go
export GOOS=linux
export GOARCH=386
export GOBIN=$HOME/bin
export PATH=$GOBIN:$PATH

2. 請透過 easy_install(python)或 aptitude(debian/ubuntu)來安裝 mercurial(如果你沒有 hg 這個指令的話)

$ sudo easy_install mercurial # easy_install
$ sudo aptitude install mercurial # aptitude
# 兩個請擇一(我用 easy_install 裝不起來)

3. 接著請到 googlecode 取得 go 的 source code 來編譯

$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT

4. 建立 GOBIN 的資料夾(預設應該是不存在)

$ mkdir $GOBIN

5. 進入到 src 資料夾,複製 quietgcc 並開始編譯

$ cd $GOROOT/src
$ cp quietgcc.bash $GOBIN/quietgcc
$ ./all.bash

6. 一小段時間後,如果編譯沒意外的話,應該會看到下列的訊息

0 known bugs; 0 unexpected bugs

7. 這時候就可以來寫個檔案測試囉~ 請用你喜歡的編輯器輸入下列程式

package main

import "fmt"

func main() {
        fmt.Printf("hello, world\n")
}

8. 存檔後,請編譯、link、就可以執行了

$ 8g hello.go # complie
$ 8l hello.8  # link
$ ./8.out     # run
hello, world  # output

# 官網上是使用 6g 不過 6g 是給 amd64 用的,一般 386 是用 8g

9. 請享用你的 GO 吧~ 更多的文件請查閱官方網站~~

沒有留言:

張貼留言