首頁 >後端開發 >Golang >為什麼在 Go 中會出現「函數體以外的非宣告語句」錯誤?

為什麼在 Go 中會出現「函數體以外的非宣告語句」錯誤?

Patricia Arquette
Patricia Arquette原創
2024-11-13 10:41:021001瀏覽

Why Do I Get

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

在Go 中,在函數體之外宣告變數通常會導致「非聲明」。 -函數體以外的宣告語句」錯誤。發生這種情況是因為Go 嚴格執行作用域規則,要求在適當的區塊內(例如,在函數內)聲明變數。

慣用的全域變數宣告

建立全域可存取的變量,可變更但不是常數,語法為:

var test = "This is a test"
  • var 關鍵字用於變數宣告。 🎜>
  • 變數的名稱(test在這種情況下)應以小寫字母開頭,以指示其在套件中的可見性(未導出)。
  • 範例:

擴充說明
package apitest

import (
    "fmt"
)

var test = "This is a test" // Globally accessible variable

func main() {
    fmt.Println(test)
    test = "Another value"
    fmt.Println(test)
}

擴充說明

  • 擴充說明
  • 中的變數初始化:
  • 在函數內部,你可以宣告一個變數並稍後使用:= 運算子為其賦值。 > Go 支援類型推斷,編譯器可以根據變數的初始值來決定變數的型別。的變數名稱在函數內進行更改(例如,提供的程式碼片段中的changeTest(newVal)) .
  • Init 函數:
  • 對於複雜的套件初始化,Go 提供了init 函數,此函數在main() 之前自動執行。

以上是為什麼在 Go 中會出現「函數體以外的非宣告語句」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn