首頁 > 後端開發 > Golang > 主體

Go中存在同名函數級變數時如何存取包級變數?

Patricia Arquette
發布: 2024-11-16 22:19:03
原創
245 人瀏覽過

How to Access Package-Level Variables When a Function-Level Variable with the Same Name Exists in Go?

透過函數級變數存取常數或包級變數

在Go 中,通常在套件中宣告常數或變數級別,使它們可以在整個包中訪問。但是,當變數也在函數層級宣告時,它在函數作用域內優先於套件層級變數。

我們如何引用常數或套件層級變數而不是函數-

解釋

不幸的是,當函數級變數同名時,沒有直接的方法來引用包級變數存在。根據 Go 規範,區塊內宣告的任何識別碼(包括函數)優先於該區塊範圍內包層級聲明的識別碼。

解決方法

要同時存取包級和函數級變量,請考慮以下解決方法:

1.使用不同的解決方法:

1.使用不同的名稱

如果可能,請對函數級和包級變數使用不同的名稱以避免衝突。這允許您獨立存取兩個變數。

2.保存包級變數的副本

在為函數級變數賦值之前,將包級變數的副本儲存在具有不同名稱的新變數中。這樣,即使在函數的作用域內,您也可以引用包級變數。

3.建立函數

另一種方法是建立一個傳回包級變數值的函數。這允許您透過呼叫函數級變數範圍內的函數來存取包級變數。

以上是Go中存在同名函數級變數時如何存取包級變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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