【发布时间】:2018-05-14 15:29:03
【问题描述】:
我正在尝试找出 Golang 中的简单开关,但我遇到了变量范围。
var body string
var errs error
req := gorequest.New()
var resp gorequest.Response
switch verb {
case 0:
resp, body, errs := req.Get(suburl).
Set("X-Auth-Token", d.Token).
Set("Content-type", "application/json").
End()
}
if errs != nil {
return &ConnResponse{resp.StatusCode, body, fmt.Errorf("%s", errs)}
}
我已经在 switch 之前声明了 resp、body、errs 和 req,并且我认为它们将在 switch body 之后可用。 编译器返回的错误低于(来自案例声明)
# command-line-arguments
./conn.go:135:3: resp declared and not used
./conn.go:135:9: body declared and not used
./conn.go:135:15: errs declared and not used
所以我很好奇开关体内的变量范围与函数中声明的有什么不同?这段代码看起来如何能够在切换主体后访问数据。
【问题讨论】:
-
:=应该是=。
标签: variables go scope switch-statement