Go: 提案:同期:Map.Deleteメソッドは、キーが削除されたかどうかを示すboolを返す必要があります

作成日 2018年01月25日  ·  3コメント  ·  ソース: golang/go

同期マップでboolreturn変数を公開し、次のように変更することをお勧めします。

func(m * Map)Delete(key interface {})

に:

func(m * Map)Delete(key interface {})bool

戻り値は、アイテムがマップから削除されたかどうかを呼び出し元に通知します(キーがマップ内にある場合はtrue、呼び出しが何も変更しなかった場合はfalse)。 Map.DeleteはMap.deleteを内部的に呼び出しているようですが、Map.deleteには、場合によっては必要な戻りデータが既に含まれています。

この変更によって既存のコードが破損することはありません。

FrozenDueToAge Proposal

最も参考になるコメント

この変更によって既存のコードが破損することはありません。

はい、そうです:

var deleteFn func(interface{}) = m.Delete

全てのコメント3件

この変更によって既存のコードが破損することはありません。

はい、そうです:

var deleteFn func(interface{}) = m.Delete

ええ、API署名を変更することはできません。 参照: https

この署名を変更することはできません。

このページは役に立ちましたか?
0 / 5 - 0 評価