首頁 > 後端開發 > Golang > 為什麼我不能在 Go 中的函數外部宣告變數?

為什麼我不能在 Go 中的函數外部宣告變數?

Susan Sarandon
發布: 2024-11-29 20:00:15
原創
934 人瀏覽過

Why Can't I Declare a Variable Outside a Function in Go?

Go 中函數體外部的非宣告語句

Go 中,函數體外的非宣告語句會引發錯誤。在程式碼片段中可以觀察到這一點:

package apitest

import (
    "fmt"
)

test := "This is a test."

func main() {
    fmt.Println(test)
    test = "Another value"
    fmt.Println(test)
}
登入後複製

此程式碼嘗試在 main() 函數外部宣告一個變數並為其賦值。但是,Go 不允許在函數體之外使用非宣告語句。

慣用方法

宣告可從包內任何位置存取的變數的慣用Go 方法,但不一定是常數:

var test = "This is a test"
登入後複製
  • 使用var 關鍵字宣告一個名為test。
  • 小寫「t」表示變數僅在套件內可見(未匯出)。
  • 賦值運算子 = 使用值「This is a test」初始化變數。

變數特徵

測試變數:

  • 可從 apitest 套件中的任何位置存取。
  • 可以重新分配,使其可更改。

附加說明

  • 而不是var test = "這是一個test”,你可以寫var test string = “This is a test ”,但這不被認為是慣用的Go。
  • Go 也提供了 init 函數來進行複雜的套件初始化或設定套件狀態。 Init 在主運行之前被呼叫。

以上是為什麼我不能在 Go 中的函數外部宣告變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板