タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

makeに関するroid123のブックマーク (1)

  • Golangのnew()とmake()の違い - 逆さまにした

    この記事は Go (その3) Advent Calendar 2017 の5日目の記事です。 記事では、変数の宣言に用いられる組み込み関数new()とmake()の違いについてまとめます。 まとめ さっそくですが、違いを表にまとめます。 new(T) make(T) 対象 任意の型 slice, map, channelのみ 初期化 初期化しない(ゼロ値になる) 初期化する 返り値 *T T 対象と初期化について new()とmake()で、初期化しない/するの違いは、 slice, map, channelが、内部にデータ構造を持つことからきています。 以下にruntimeパッケージで、それぞれ型が定義されている箇所を引用します。 一番理解しやすいのが、sliceです。array(実データ), len, capを初期化してあげる必要があるため、make()が用意されています。 slic

    Golangのnew()とmake()の違い - 逆さまにした
  • 1