2017-08-04 3 views
-3

私はゴランの新人で、pythonからgolangに切り替えました。どのように私は、これは「スイッチ」にelse文場合は変換できゴランスイッチステートメント

type Client struct { 
    Type string `json:"type"` 
} 

それから私はこのように、この構造体を初期化しています:

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 statements](https://golang.org/ref/spec#Switch_statements)には、このような例があります。 – icza

+1

また、[ツアー中](https://tour.golang.org/flowcontrol/9)です。 – Adrian

答えて

5

あなたがここにdocを読むことによって自分自身をそれを把握できていてもさ何を書きますか:

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

私は彼らが自分自身のためにそれを把握しようとしている彼らのノンアタックの間に引き裂かれています。スタック交換とは時には "それを持ってきてください。 –