首页 > 后端开发 > Golang > 正文

如何访问 Go 中 `if...else` 语句中声明的变量?

DDD
发布: 2024-11-14 09:33:02
原创
952 人浏览过

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板