教程:Go 入門
在本教程中,您將簡要介紹 Go 程式設計。在此過程中,您將:
- 安裝 Go(如果尚未安裝)。
- 編寫一些簡單的“Hello, world”程式碼。
- 使用
go
命令執行您的程式碼。 - 使用 Go 包發現工具查詢可以在您自己的程式碼中使用的包。
- 呼叫外部模組的函式。
先決條件
- 一些程式設計經驗。這裡的程式碼非常簡單,但瞭解一些函式知識會有幫助。
- 編輯程式碼的工具。任何文字編輯器都可以正常工作。大多數文字編輯器都對 Go 有很好的支援。最受歡迎的是 VSCode(免費)、GoLand(付費)和 Vim(免費)。
- 命令終端。 Go 在 Linux 和 Mac 上的任何終端以及 Windows 上的 PowerShell 或 cmd 中都能很好地工作。
安裝 Go
只需使用下載並安裝步驟。
編寫程式碼
從 Hello, World 開始。
- 開啟命令提示符並 cd 到您的主目錄。
在 Linux 或 Mac 上
cd
在 Windows 上
cd %HOMEPATH%
- 為您的第一個 Go 原始碼建立一個 hello 目錄。
例如,使用以下命令:
mkdir hello cd hello
- 為您的程式碼啟用依賴跟蹤。
當您的程式碼匯入包含在其他模組中的包時,您可以透過您自己的程式碼模組管理這些依賴項。該模組由一個 go.mod 檔案定義,該檔案跟蹤提供這些包的模組。該 go.mod 檔案與您的程式碼一起保留,包括在您的原始碼倉庫中。
要透過建立 go.mod 檔案為您的程式碼啟用依賴項跟蹤,請執行
go mod init
命令,併為其提供您的程式碼將所在的模組名稱。該名稱是模組的模組路徑。在實際開發中,模組路徑通常是您的原始碼將儲存的倉庫位置。例如,模組路徑可能是
github.com/mymodule
。如果您計劃釋出您的模組供其他人使用,模組路徑必須是 Go 工具可以下載您的模組的位置。有關使用模組路徑命名模組的更多資訊,請參閱管理依賴項。在本教程中,只需使用
example/hello
。$ go mod init example/hello go: creating new go.mod: module example/hello
-
在您的文字編輯器中,建立一個 hello.go 檔案,用於編寫您的程式碼。
-
將以下程式碼貼上到您的 hello.go 檔案中並儲存檔案。
package main import "fmt" func main() { fmt.Println("Hello, World!") }
這是您的 Go 程式碼。在這段程式碼中,您:
-
執行您的程式碼以檢視問候語。
$ go run . Hello, World!
go run
命令是您將用於使用 Go 完成任務的眾多go
命令之一。使用以下命令獲取其他命令的列表:$ go help
呼叫外部包中的程式碼
當您的程式碼需要執行可能由其他人實現的操作時,您可以尋找一個包含您可以在程式碼中使用的函式的包。
- 使用外部模組中的函式使您的列印訊息更有趣一些。
- 訪問 pkg.go.dev 並搜尋“quote”包。
- 在搜尋結果中,找到並單擊
rsc.io/quote
包的 v1 版本(它應該與rsc.io/quote/v4
的“其他主要版本”一起列出)。 - 在文件部分,在索引下,注意您可以從程式碼中呼叫的函式列表。您將使用
Go
函式。 - 在此頁面的頂部,請注意包
quote
包含在rsc.io/quote
模組中。
您可以使用 pkg.go.dev 站點查詢已釋出的模組,這些模組的包中包含您可以在自己的程式碼中使用的函式。包釋出在模組中——例如
rsc.io/quote
——供其他人使用。模組會隨著時間的推移透過新版本進行改進,您可以升級您的程式碼以使用改進的版本。 - 在您的 Go 程式碼中,匯入
rsc.io/quote
包並新增對其Go
函式的呼叫。新增突出顯示的行後,您的程式碼應包含以下內容:
package main import "fmt" import "rsc.io/quote" func main() { fmt.Println(quote.Go()) }
- 新增新的模組要求和校驗和。
Go 將新增
quote
模組作為要求,以及用於驗證模組的 go.sum 檔案。有關更多資訊,請參閱 Go 模組參考中的驗證模組。$ go mod tidy go: finding module for package rsc.io/quote go: found rsc.io/quote in rsc.io/quote v1.5.2
- 執行您的程式碼以檢視您正在呼叫的函式生成的訊息。
$ go run . Don't communicate by sharing memory, share memory by communicating.
請注意,您的程式碼呼叫了
Go
函式,列印了一條關於通訊的巧妙訊息。當您執行
go mod tidy
時,它找到了並下載了包含您匯入的包的rsc.io/quote
模組。預設情況下,它下載了最新版本——v1.5.2。
編寫更多程式碼
透過這個快速介紹,您已經安裝了 Go 並學習了一些基礎知識。要透過另一個教程編寫更多程式碼,請檢視建立 Go 模組。