首頁 > 後端開發 > Golang > 如何存取 Go 中 `if...else` 語句中宣告的變數?

如何存取 Go 中 `if...else` 語句中宣告的變數?

DDD
發布: 2024-11-14 09:33:02
原創
1003 人瀏覽過

How to Access Variables Declared Inside an `if...else` Statement in Go?

Go 中的變數作用域

在 Go 中,變數必須在特定作用域內宣告。當您在 if...else 語句內宣告變數時,其範圍僅限於該語句。這意味著該變數不能在語句之外使用。

請考慮以下程式碼:

if strings.EqualFold(r.Method, "GET") || strings.EqualFold(r.Method, "") {
    req, er := http.NewRequest(r.Method, r.Uri, b)
} else {
    req, er := http.NewRequest(r.Method, r.Uri, b)
}
登入後複製

在此程式碼中,變數 req 和 er 在 if... 內宣告。 else 語句。這意味著它們只能在該語句中使用。在語句之外,變數是未定義的。

要解決這個問題,可以在if...else 語句之外聲明變量,如下所示:

var req *http.Request
var er error
if strings.EqualFold(r.Method, "GET") || strings.EqualFold(r.Method, "") {
    req, er = http.NewRequest(r.Method, r.Uri, b)
} else {
    req, er = http.NewRequest(r.Method, r.Uri, b)
}
登入後複製

現在,變量req 和er 是在if...else語句之外聲明的,因此它們可以在整個函數中使用。

以上是如何存取 Go 中 `if...else` 語句中宣告的變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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