首頁 >後端開發 >Golang >Go中如何在函數體之外初始化全域變數?

Go中如何在函數體之外初始化全域變數?

Barbara Streisand
Barbara Streisand原創
2024-11-13 08:20:02304瀏覽

How do I Initialize Global Variables in Go Outside of Function Bodies?

Go 中函數體外部的非宣告語句:了解全域變數初始化

使用以JSON 格式提供資料的API 的Go 函式庫時或XML 格式,因此有必要安全地管理會話ID。為此,您可能需要在 main() 函數外部指派一個變量,以便在 API 呼叫期間使用。

Go 遵循在函數體外部宣告變數的特定規則。在函數內宣告變數所採用的語法(使用 :=)不適合全域變數初始化。相反,您需要使用 var 後跟變數名稱及其值。

例如,在您的情況下,您可以聲明一個值為「This is a test」的全域變數test,如下所示:

package apitest

import (
    "fmt"
)

var test = "This is a test."

請記住,test 中的小寫“t”表示它只能在包內訪問,不能導出。

這種方法可讓您從任何地方存取和修改測試變數

考慮以下範例:

package main

import "fmt"

var test string = "Initial Test"

func main() {
    fmt.Println(test)      // Prints "Initial Test"
    changeTest("New Test")
    fmt.Println(test)      // Prints "New Test"
}

func changeTest(newTest string) {
    test = newTest
}

在此場景中,我們有一個初始化為「初始測試”的包級變數測試。在 main() 函數中,我們呼叫changeTest() 函數,傳入一個新值「New Test」。 changeTest() 函數隨後更新 test 的值。

當程式運行時,它輸出:

Initial Test
New Test

這表明您可以存取和修改整個套件中的全域變量,從而允許您可以根據API 整合需要管理會話ID 或其他數據。

以上是Go中如何在函數體之外初始化全域變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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