這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
golang作為Google的親兒子,現在關注度也越來越高,據說Android以後也會用golang代替Java開發,因為Google被甲骨文告了,每年都賠款十幾億美金....
Go的優勢特性在於並發性,提供了令人驚訝的並發基元,良好的文法,優秀的函數庫和快速的編譯器。即使是基礎代碼變得很大的時候,使用Go語言依然很輕鬆,因為它使構造簡單的同時保證可靠,高效。
我們項目組的線上客服系統就是用Go語言開發的,在接觸Go之後更覺得其創新之舉確實很有魅力。
下面記錄“夠浪”的入門學習筆記,環境配置自己也是在網上找了很多資料,弄了很久才弄好,所以記錄一下也算一個經驗吧。
一、環境配置
1、系統:Linux (Ubuntu、CentOS...)
golangs是Google的大牛們在Linux下開發的編譯型語言,在Linux下進行開發是最適合的,別再Windows下搞,浪費時間,編譯代碼很容易出問題,我是踩過坑的
2、go語言環境配置:下載go源碼安裝包,再配置路徑環境
3、開發工具(編輯器) :Sublime Text 2 或Sublime Text 3
4、版本管理:git
我是在CentOS6.5下配置的環境,以這為例,步驟如下:
a.go安裝配置,依次在終端下輸入如下命令即可
wget -c http://www.golangtc.com/static/go/go1.3.linux-386.tar.gz #下載32位Linux的夠源碼包tar -zxvf go1.1.linux-386.tar.gz #下載檔案後解壓縮cp -R go/ /usr/local/go #移動到指定檔案路徑vi /etc/profile #配置環境變數 在檔案末尾加入: export GOROOT=/usr/local/go export GOBIN=$GOROOT/bin export GOPATH=/root/gocode #該路徑是放開發的工程項目的檔案路徑 ,不可與GOROOT一致,在該路徑下建三個檔案夾“src”、“pkg”、“bin”,自己開發的工程項目放在src下。 export PATH=$PATH:$GOBIN:$GOPATH 按“Esc”,再輸入:qw #命令儲存退出source /etc/profile #使設定檔立刻生效go env #查看環境變數,有結果輸出證明配置成功
b.安裝配置sublime Text 2
網上下載對應版本的安裝包;
安裝gosublime外掛程式;
開啟配置Preference>packages Seetting>go Sublime>setting User
輸入設定如下:
"env": {
"PATH" : "/usr/local/go"
},
c.安裝git
yum install git
d.運行go項目工程的shell基本命令
go get 【開源庫】 #下載go語言開源庫 go build *.go #在項目路徑下編譯所有go檔案 go build -o [檔案名稱] *go #編譯所有go檔案,產生指定的檔案名稱的執行檔案./【檔案名稱】 #運行編譯後的執行檔案
二、基本文法
直接給連結參考
Go社區:http://studygolang.com/
Go入門文法指南:http://tour.studygolang.com/welcome/1
基礎文法不多說,看看go的創新特色
Goroutines & Channels
寫並發的代碼已經很困難了,寫並發訪問網路的代碼就更加困難了。問題在於傳統的線程不能很好得伸縮,而且線程一旦運行起 來,就會很難去控制。而Go語言的goroutine解決了這個問題。本質上, goroutines是個輕量級的並發機制,通過使用一種稱為channels管道來進行線程間互動。它們都非常便於使用。
<span style="font-size:18px;">go func(x,y) //即可非同步呼叫方法 func</span>
<span style="font-size:18px;">channel 是一種有類型的管道var ch chan int = make(chan int) //建立管道ch < - 1 //將1 送入管道chv := < - ch //從ch接收,並賦給v</span>