新年伊始。
嘗試go語言。
Go語言是Google內部主推的語言,它作為一門全新的靜態類型開發語言,與當前的開發語言相比具有許多令人興奮不已的新特性。專門針對多處理器系統的應用程序編程進行了優化,使用go語言完全可以媲美c、c++的速度,而且更加安全、簡潔,支持并行進程。
以下是go語言的主要特性:
1、自動垃圾回收
2、更豐富的內置類型
3、函數多反回值
4、錯誤處理
5、匿名函數和閉包
6、類型和接口
7、并發編程
8、反射
9、語言交互性
以上基本都屬廢話,搭建開發環境盡快開啟編程之旅才是王道,筆者使用的是mac系統,因此介紹下mac下golang的環境搭建。
google官網被墻下載地址如下: http://www.golangtc.com/download ,下載最新的安裝包,之后雙擊安裝即可。
安裝完成之后,打開終端,輸入go、或者go version(查看安裝版本)出現如下信息即表示安裝成功:
zhangqiangdeMacBook-PRo:gg zhangqiang$ go version
go version go1.8beta1 darwin/amd64
2、配置環境變量
安裝完sdk之后接下來便是配置環境變量了,打開終端輸入cd ~ 進入用戶主目錄,之后輸入ls -all命令查看是否存在.bash_profile
文件,存在既使用vim .bash_profile打開并編輯該文件。根據自己實際情況,內容如下:
export GOPATH=/Users/zhangqiang/goexport GOBIN=$GOPATH/binexport PATH=$PATH:$GOBINGOPATH:日常開發的根目錄。GOBIN:是GOPATH下的bin目錄。
且需要gobin目錄加入到path路徑下,生成的可執行文件就可以直接運行了。
退出vim,使用source ~/.bash_profile即可完成對golang環境變量的配置了,可以在終端中輸入go env查看配置后的效果:
zhangqiangdeMacBook-Pro:~ zhangqiang$ go env
GOARCH="amd64"
GOBIN="/Users/zhangqiang/go/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/zhangqiang/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/p2/z4cgb3kd3mldyl7fxm6jjv3w0000gn/T/go-build485816814=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
3、開發工具配置(sublime text)
這里筆者選用的是sublime text安裝gosublime插件進行開發(golang語法高亮提示),安裝方式這里就不多提了。
goProject是go的workspace。
配置好開發環境之后,簡單的進行一下go語言的開發。在你的gopath下的src目錄下,新建一個文件夾(以項目名稱命名,這里是gg),然后在sublime中打開該文件夾,新建main.go文件即可以進行編碼了。
package mainimport ( "fmt")func main() { fmt.Println("hello zhangqiang!");}代碼編寫完成之后,使用command+b打開sublime text終端,使用go build gg(項目名稱)對其進行編譯,編譯通過的結果信息如下
[ `go build hello_world` | done: 599.030542ms ] [ ~/goProject/src/hello_world/ ] #
提示編譯成功之后,再執行shell命令,執行剛剛編譯之后的文件./gg即可看到運行結果:
[ `./hello_world` | done: 23.823761ms ] hello world!如果僅僅是只需要看到運行的結果,而不產生可執行文件(文件名和項目名一樣)則在sublime text終端中直接使用go run xxx.go即可:
[ `go run gg.go` | done: 553.566407ms ] hello world!到目前為止,我們已經安裝好了開發golang程序的基本環境,可以開心的享受golang的奇妙之處了!
注意:
1:在GOPATH的src路徑中,建在執行中,經常遇到
can't load package: package gg: no buildable Go source files in /Users/zhangqiang/go/src/gg 錯誤,
經過2個小時的排查,發現,創建的main.go文件,并不是main.go,而是main.go.txt文件,原因是我用的是txt文本編輯器,默認是txt的后綴名,只是給隱藏了。需要下載類似sublime text的軟件,編輯go代碼。
2:需要安裝gosublime插件,目前它需要將sublime text升級到3,才行。下載地址:https://www.sublimetext.com/3
3: 在gosublime的終端執行go,而不是mac的自帶終端。command+b打開sublime text終端
參考文獻:
http://www.linuxidc.com/Linux/2015-05/117283.htm
http://www.tuicool.com/articles/Fv6zUfE
新聞熱點
疑難解答