if文で戻り値を変数で受け取りたいときは error
とともに定義しておく(3)か(4)の方法しかありませんか?
慣例・イディオム・スタイル・宗派などあれば知りたいです。
// (1) if id, err := c.GetID(); err != nil { // handle error } DB.Delete(id) // ここで id が使えない。 // (2) var id int if id, err := c.GetID(); err != nil { // id 定義済みなのでエラーになる // handle error } DB.Delete(id) // (3) var id int var err error if id, err = c.GetID(); err != nil { // handle error } if err := DB.Delete(id); err != nil { // errを使い回す?新たに定義する? // handle error } // (4) if id, err := c.GetID(); err != nil { // handle error } else { if err := DB.Delete(id); err != nil { // handle error } else { // ネストしていく... } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/05 01:31