教程:Go 入門

在本教程中,您將簡要介紹 Go 程式設計。在此過程中,您將:

先決條件

安裝 Go

只需使用下載並安裝步驟。

編寫程式碼

從 Hello, World 開始。

  1. 開啟命令提示符並 cd 到您的主目錄。

    在 Linux 或 Mac 上

    cd
    

    在 Windows 上

    cd %HOMEPATH%
    
  2. 為您的第一個 Go 原始碼建立一個 hello 目錄。

    例如,使用以下命令:

    mkdir hello
    cd hello
    
  3. 為您的程式碼啟用依賴跟蹤。

    當您的程式碼匯入包含在其他模組中的包時,您可以透過您自己的程式碼模組管理這些依賴項。該模組由一個 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
    
  4. 在您的文字編輯器中,建立一個 hello.go 檔案,用於編寫您的程式碼。

  5. 將以下程式碼貼上到您的 hello.go 檔案中並儲存檔案。

    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello, World!")
    }
    

    這是您的 Go 程式碼。在這段程式碼中,您:

    • 宣告一個 main 包(包是一種將函式分組的方式,它由同一目錄中的所有檔案組成)。
    • 匯入流行的 fmt,其中包含用於格式化文字的函式,包括列印到控制檯。此包是您安裝 Go 時獲得的標準庫包之一。
    • 實現一個 main 函式,向控制檯列印訊息。當您執行 main 包時,main 函式預設執行。
  6. 執行您的程式碼以檢視問候語。

    $ go run .
    Hello, World!
    

    go run 命令是您將用於使用 Go 完成任務的眾多 go 命令之一。使用以下命令獲取其他命令的列表:

    $ go help
    

呼叫外部包中的程式碼

當您的程式碼需要執行可能由其他人實現的操作時,您可以尋找一個包含您可以在程式碼中使用的函式的包。

  1. 使用外部模組中的函式使您的列印訊息更有趣一些。
    1. 訪問 pkg.go.dev 並搜尋“quote”包
    2. 在搜尋結果中,找到並單擊 rsc.io/quote 包的 v1 版本(它應該與 rsc.io/quote/v4 的“其他主要版本”一起列出)。
    3. 文件部分,在索引下,注意您可以從程式碼中呼叫的函式列表。您將使用 Go 函式。
    4. 在此頁面的頂部,請注意包 quote 包含在 rsc.io/quote 模組中。

    您可以使用 pkg.go.dev 站點查詢已釋出的模組,這些模組的包中包含您可以在自己的程式碼中使用的函式。包釋出在模組中——例如 rsc.io/quote ——供其他人使用。模組會隨著時間的推移透過新版本進行改進,您可以升級您的程式碼以使用改進的版本。

  2. 在您的 Go 程式碼中,匯入 rsc.io/quote 包並新增對其 Go 函式的呼叫。

    新增突出顯示的行後,您的程式碼應包含以下內容:

    package main
    
    import "fmt"
    
    import "rsc.io/quote"
    
    func main() {
        fmt.Println(quote.Go())
    }
    
  3. 新增新的模組要求和校驗和。

    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
    
  4. 執行您的程式碼以檢視您正在呼叫的函式生成的訊息。
    $ go run .
    Don't communicate by sharing memory, share memory by communicating.
    

    請注意,您的程式碼呼叫了 Go 函式,列印了一條關於通訊的巧妙訊息。

    當您執行 go mod tidy 時,它找到了並下載了包含您匯入的包的 rsc.io/quote 模組。預設情況下,它下載了最新版本——v1.5.2。

編寫更多程式碼

透過這個快速介紹,您已經安裝了 Go 並學習了一些基礎知識。要透過另一個教程編寫更多程式碼,請檢視建立 Go 模組