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")) 
    } 
+0

你有什么试过?这不是一个困难的问题,我敢打赌,通过快速刺入它可以找到答案。 – Verran

+4

[Spec:Switch语句](https://golang.org/ref/spec#Switch_statements)有这样的例子。 – icza

+1

这也是[在巡回中](https://tour.golang.org/flowcontrol/9)。 – Adrian

即使你可以通过点击这里阅读doc是你自己看着办吧你应该写什么:

switch a.Type { 
case "v1": 
    // ... 
    // no need to 'break' in go 
case "v2": 
    // ... 
default: 
    // usual 'else' clause statements 
} 
+0

我之间的公然非企图在他们试图找出自己与Stack Exchange有时 - “把它带到SO所以你不必去通过文档” –