Go 程式語言於 2009 年首次公開發布,此後被廣泛使用。特別是,Go 已經成為雲基礎設施領域的一種代表性語言,例如 Kubernetes、OpenShift 或 Terraform 等大型專案都使用了 Go。
Go 越來越受歡迎的原因是效能好、易於編寫高並行的程式、語法簡單和編譯快。
讓我們來看看如何在 Fedora 上開始 Go 語言程式設計吧。
Fedora 可以通過官方庫簡單快速地安裝 Go 語言。
$ sudo dnf install -y golang$ go versiongo version go1.12.7 linux/amd64
既然裝好了 Go ,讓我們來寫個簡單的程式,編譯並執行。
讓我們來用 Go 語言寫一波 “Hello, World!”。首先建立 main.go
檔案,然後輸入或者拷貝以下內容。
package mainimport "fmt"func main() { fmt.Println("Hello, World!")}
執行這個程式很簡單。
$ go run main.goHello, World!
Go 會在臨時目錄將 main.go
編譯成二進位制檔案並執行,然後刪除臨時目錄。這個命令非常適合在開發過程中快速執行程式,它還凸顯了 Go 的編譯速度。
編譯一個可執行程式就像執行它一樣簡單。
$ go build main.go$ ./mainHello, World!
Go 1.11 和 1.12 引入了對模組的初步支援。模組可用於管理應用程式的各種依賴包。Go 通過 go.mod
和 go.sum
這兩個檔案,顯式地定義依賴包的版本。
為了演示如何使用模組,讓我們為 hello world
程式新增一個依賴。
在更改程式碼之前,需要初始化模組。
$ go mod init helloworldgo: creating new go.mod: module helloworld$ lsgo.mod main main.go
然後按照以下內容修改 main.go
檔案。
package mainimport "github.com/fatih/color"func main () { color.Blue("Hello, World!")}
在修改後的 main.go
中,不再使用標準庫 fmt
來列印 “Hello, World!” ,而是使用第三方庫列印出有色字型。
讓我們來跑一下新版的程式吧。
$ go run main.goHello, World!
因為程式依賴於 github.com/fatih/color
庫,它需要在編譯前下載所有依賴包。 然後把依賴包都新增到 go.mod
中,並將它們的版本號和雜湊值記錄在 go.sum
中。