這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
1.蛤蟆筆記go語言——入門
簡介
Go語言是一門簡單、高效、安全和並發的語言。簡單到甚至不需要有一個符號表來進行詞法分析。它可以快速地編譯;整個工程的編譯時間在秒以下的情況是常事。它具備記憶體回收功能,因此從記憶體的角度是安全的。它進行靜態類型檢查,並且不允許強制類型轉換,因而對於類型而言是安全的。同時語言還內建了強大的並發實現機制。
Go語言的作者在設計這一語言時堅持一個單一的指導原則:簡單明了至上。
變數是如下聲明的:
var sum int // 簡單聲明
var total int = 42 // 聲明並初始化
這些聲明裡的類型跟在變數名的後面。
如果一個變數初始化了,編譯器通常能推斷它的類型,所以程式員不必顯式的敲出來:
var label = "name"
go語言eclipse開發環境
go開發環境如下:
http://www.golangtc.com/download(牆外:https://golang.org/dl/ )
安裝完成後預設會在環境變數 Path 後添加 Go 安裝目錄下的 bin 目錄 C:\Go\bin\,並添加環境變數 GOROOT,值為 Go 安裝根目錄 C:\Go\
在命令列輸入go命令
使用go env查看環境變數
設定環境變數:GOPATH
工作目錄。
IDE開發環境
採用SublimeText 3(以下簡稱Sublime)+GoSublime+gocode組合
Sublime Text 3
l 下載地址:http://www.sublimetext.com/3
雙擊安裝即可。
l 安裝Package Control包管理工具
點擊View->Show Console,然後粘貼執行如下代碼
importurllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' +'8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp= sublime.installed_packages_path(); urllib.request.install_opener(urllib.request.build_opener( urllib.request.ProxyHandler()) ); by =urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ','%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validatingdownload (got %s instead of %s), please try manual install' % (dh, h)) if dh !=h else open(os.path.join( ipp, pf), 'wb' ).write(by)
如果是Sublime2則是:
importurllib2,os,hashlib; h = '2915d1851351e5ee549c20394736b442' +'8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp= sublime.installed_packages_path(); os.makedirs( ipp ) if notos.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener(urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' +pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open(os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Errorvalidating download (got %s instead of %s), please try manual install' % (dh,h) if dh != h else 'Please restart Sublime Text to finish installation')
然後重啟sublime,可以發現在在功能表列Perfrences多了一個如下的欄目,說明Package Control已經安裝成功了。
https://packagecontrol.io/installation#st2具體安裝。
l 安裝GoSublime外掛程式,開啟PackageControll輸入Install Package”(即“PackageControl: Install Package”),然後輸入GoSublime,按確定就開始安裝了。
l 同上步安裝GolangBuild
l 接著安裝gocode代碼自動提示
開啟windows的命令列提示符程式, cmd運行如下代碼
go get -u github.com/nsf/gocode
go install github.com/nsf/gocode
如果有錯誤提示,那麼要安裝Git用戶端
l 設定go非標準庫智能提示
開啟perferences->Settings - Default,拷貝所有內容,然後粘貼到 Settings - User中(保證你的修改不會被外掛程式更新而重設,這外掛程式更新很頻繁)。
編寫第一個程式
在GOPATH檔案夾的src檔案中建立hello.go檔案,輸入如下:
package main
import (
"fmt"
)
func main(){
fmt.Println("helloworld!")
}
然後運行CTRL+B開啟 sublime的命令列
提示符下輸入 go run hello.go
CTRL+B開啟sublime的命令列,在提示符下輸入go build hello.go
編譯成二進位檔案。
如果需要再次輸入則 Tools->Build System->GoSublime,然後輸入Ctrl+B.
go語言學習資料
1.go指南:官網連結:https://go-tour-zh.appspot.com/welcome/1,如果無法開啟請用國內連結:http://tour.studygolang.com/
2.《the way to go》,如果看英文感覺吃力,github上無聞大牛已經做了中文譯本:https://github.com/Unknwon/the-way-to-go_ZH_CN
3.《Go 學習筆記 第三版》雨痕寫的,該電子書在github開源:https://github.com/qyuhen/book
4.《go web 編程》,是謝大(beego的作者)寫的電子書,github中文目錄連結:https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md
5.《go編程基礎》視頻教程,此教程是無聞大牛講解的,github視頻連結:https://github.com/Unknwon/go-fundamental-programming