次世代言語21 Go Nim ..
[2ch|▼Menu]
769:デフォルトの名無しさん
21/04/16 23:53:42.11 iRzpcHGc.net
「使う」の意味が曖昧だったかな
errを使うっていうのはエラーをチェックをするという意味じゃなく
コードの中でそのerrをどう扱うかを明示するって意味で書いた
(普通はエラー処理だけど)
>>741の例だと
_ = err
の中で「そのエラーはチェックしない」って意図を明示するためにerrを使ったことになる
_ := f.Close()

f.Close()
の違いは、下の書き方だと
・そこでエラーが返される可能性
・そのエラーを無視するという意図
の2つが伝わりにくくなること
もしかしたらコードを書いた本人もCloseがエラーを返す可能性を見落としてるかもしれなくて
そうなると想定しない状態でプログラムが動き続けて予期しない結果を招くかもしれない
もしコンパイラが戻り値を受け取らないパターンを弾いてくれればそういう見落としは防げるようになる
(そこで何も考えず戻り値を捨てる書き方をして予期しない結果になったならそれはもう躾の問題だけど)

Javaで例えるならExceptionで握りつぶすというよりcatch(Exception)して何もしない感じかな
自分は「飲み込む」と表現してる


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

279日前に更新/229 KB
担当:undef