教學課程:開始使用 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
套件(如果看到rsc.io/quote/v3
,請先忽略)。 -
在文件區段的索引下方,請注意您可以從程式碼呼叫的函式清單。您將會使用
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 模組。