"Go is an open source programming language that makes it easy to build simple, reliable, and efficient software." (from?http://golang.org)
golang是由谷歌開發的一門開源編程語言,首發于2009年。可用于解決大規模系統開發問題,原生支持并發,編譯速度快,帶有垃圾回收功能。相比動態語言(如python)運行速度更快,且類型安全。
1 安裝
可以使用安裝包進行安裝(Linux默認安裝到/usr/local/go,Windows安裝到C:\Go)。
也可以從源碼安裝:(以Linux為例)
a 從?https://golang.org/dl/?下載安裝包,如 go1.7.6.linux-amd64.tar.gz
b 解壓至 /usr/local 目錄:tar -C /usr/local -xzf go1.7.6.linux-amd64.tar.gz
c 將 /usr/local/go/bin 目錄添加至PATH中:export PATH=$PATH:/usr/local/go/bin
(如果想支持重啟仍然生效,需寫入相關文件如$HOME/.bashrc中)
設置GOPATH
GOPATH用于放置項目內容和第三方庫。例如:
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
(Linux下用:分隔,Windows下用;分隔。1.8版本起GOPATH有默認值)
如果go安裝到了自定義位置,則需要設置GOROOT。
在命令行輸入go命令,如果出現下圖信息,則說明安裝成功了。Great!
開發工具
個人習慣使用Vim,IDE可以使用LiteIDE,其他如VSCode、Atom等編輯器均可使用。
2 第一個go程序
先跟小師妹打個招呼吧:
package main
import "fmt"
func main() {
? ? fmt.Println("Hello, 小師妹!")
}
執行go run hello_sister.go,可以得到輸出:Hello, 小師妹!
開心吧233333
(或者先執行go build xx.go,再運行生成的二進制文件)
3 Golang vs Java/C++
相比Java,Golang直接編譯成機器碼,運行不需要虛擬機;原生支持并發;字符串默認使用UTF-8編碼。
為保持簡單性,Golang沒有以下特性:
? ? 類,構造/析構函數
? ? 繼承
? ? 異常
? ? 函數注解
? ? 用戶泛型
相比C++,Golang支持垃圾回收,沒有指針運算、頭文件、函數重載等。
參考文獻
本文集「learning golang」所有文章著作權歸作者所有,轉載請附原文鏈接。