cookiejar.Newが返すエラー値が必ずnilなのは何故か
net/http/cookiejar に一見不思議そうなコードがありました。
戻り値の型宣言では error
を指定しているにも関わらず、関数内にはエラーを扱う箇所がなく必ず nil
を返しています。
func New(o *Options) (*Jar, error) {
jar := &Jar{
entries: make(map[string]map[string]entry),
}
if o != nil {
jar.psList = o.PublicSuffixList
}
return jar, nil
}
本来であれば戻り値がひとつだけ(*Jar
を返すだけ)で十分のように思えますが、Go言語的には何か意味のある書き方なのでしょうか?