Open2
[golang]nilnilはどこまで標準的か

nilnil
の README.md
では以下のような記述がある。
return nil, nil is not idiomatic for Go. The developers are used to the fact that if there is no error, then the return value is valid and can be used without additional checks:
参照: https://github.com/Antonboom/nilnil/tree/v0.1.9?tab=readme-ov-file#motivation
DeelL翻訳
return nil, nilはGoのイディオムではない(慣用句的でない)。開発者は、エラーがなければ戻り値は有効であり、追加のチェックなしで使用できるという事実に慣れている
return nil, nil
が慣用的でないことは、どこまでgolangコミュニティに受け入れられているのか?

結論
標準的ではないし、return nil, nil
は標準ライブラリーでも普通に利用されている。
何なら、このnilnilを検出するライブラリーにも return nil, nil
の記述がある。
golangci-lin に追加された経緯
開発のメンバーはこのリンターについて「return nil, nil
は標準ライブラリ等で一般的に使われているし、エラーを返したくないシーンが有る」「このlinterには賛同しない」とコメントしている。ただgolangci-lint
への追加については不要な人はdisable
にすれば良く、nilnil
linterが有益と感じる人もいることを理解しapproveされていた。(そんな感じで追加されるんだ.)