Golang switch语句
问题描述:
我是golang的新手,从python切换到golang。我怎样才能在一个“开关”Golang switch语句
type Client struct {
Type string `json:"type"`
}
然后我初始化这个结构类似这样的转换这一点,如果else语句:
a:= Client{"v1"}
if a.Type == "v1" {
if err := apiClient.v1("I am version one"); err != nil {
log.Printf(" Error: Sending type v1")
return err
}
} else if a.Type == "v2" {
if err := apiClient.v2("I am version 2"); err != nil {
log.Printf(" Error: Sending type v2\n")
return err
}
} else {
return errors.New(fmt.Sprintf(" Error: Invalid mertype...This Type"))
}
答
即使你可以通过点击这里阅读doc是你自己看着办吧你应该写什么:
switch a.Type {
case "v1":
// ...
// no need to 'break' in go
case "v2":
// ...
default:
// usual 'else' clause statements
}
+0
我之间的公然非企图在他们试图找出自己与Stack Exchange有时 - “把它带到SO所以你不必去通过文档” –
你有什么试过?这不是一个困难的问题,我敢打赌,通过快速刺入它可以找到答案。 – Verran
[Spec:Switch语句](https://golang.org/ref/spec#Switch_statements)有这样的例子。 – icza
这也是[在巡回中](https://tour.golang.org/flowcontrol/9)。 – Adrian