2017-10-21 14 views
-1

は続行、私たちは Golangで短い変数宣言を使用して関数入力に戻り値を割り当てるにはどうすればよいですか?

...のような
func checkerr(err error) { 
    if err != nil { 
     panic(err) 
    } 
} 

何かを持っているし、次に検証するために、この小さな関数を呼び出す必要があるエラー&をチェックするには次...コードスニペットを次

f, err := os.OpenFile(".", os.O_RDONLY, 0666) 

を考えてみましょうエラー。これは動作しますが例えば...

f, err := os.OpenFile(".", os.O_RDONLY, 0666) 
checkerr(err) 
files, err := f.Readdirnames(0) 
checkerr(err) 

のために、私は直接初期化段階自体の間にcheckerr()を呼び出すためのショートカットを探しています。下記を参照してください...

f, checkerr(err) := os.OpenFile(".", os.O_RDONLY, 0666) 

ネイティブのGolang構造を使用することは可能ですか?

+0

この読み方は良いです:https://dave.cheney.net/2016/04/27/dont-just-check-errors-handle-them-gracefully –

答えて

1

私の後に繰り返してください:「それは慣用的です。エラーをチェックしてください。」以下はではなく、DRYestでなくてものコードではありません。

f, err := os.OpenFile(".", os.O_RDONLY, 0666) 
if err != nil { 
    panic(err) 
} 
files, err := f.Readdirnames(0) 
if err != nil { 
    panic(err) 
} 
関連する問題