ホームページ >バックエンド開発 >Golang >go 言語での make の使用法は何ですか?

go 言語での make の使用法は何ですか?

王林
王林オリジナル
2021-01-08 14:14:436461ブラウズ

Go 言語の make の使用法は次のとおりです: 1. [make(map[string]string)]; 2. [make([]int, 2)]; 3. [make([]int, 2) 、4)]。

go 言語での make の使用法は何ですか?

#この記事の動作環境: Windows10 システム、GO 1.11.2、thinkpad t480 コンピューター。

(学習ビデオ共有: プログラミングビデオコース)

Golang には主に、メモリを割り当てるための new 関数と make 関数が組み込まれています。

make は、スライス、マップ、チャネルにメモリを割り当て、初期化された値を返すことしかできません。まず、make の次の 3 つの異なる使用法を見てみましょう:

make(map[string]string)
make([]int, 2)
make([]int, 2, 4)

最初の使用法は、パラメーターの長さが欠落し、型のみが渡されることです。この使用法は、次のシナリオでのみ使用できます。タイプはマップまたはチャンです。たとえば、make([]int) はエラーを報告します。この方法で返されるスペースの長さのデフォルトは 0 です。

2 番目の使用法では長さを指定します。たとえば、make([]int, 2) は長さ 2 のスライスを返します。

3 番目の使用法では 2 番目のパラメーターを指定します。スライス。3 番目のパラメータは、予約されたスペースの長さを指定するために使用されます。たとえば、a := make([]int, 2, 4)。ここで、返されるスライス a の合計の長さは 4 であることに注意してください。予約済みこれは追加の長さ 4 を意味するのではなく、実際には最初の 2 つのスライスの数が含まれます。したがって、たとえば、:= make([]int, 4, 2) を使用すると、構文エラーが報告されます。

したがって、スライスにメモリを割り当てるときは、スライスの可能な最大長を推定し、make に 3 番目のパラメータを渡してスライス用のメモリ領域を予約するように最善を尽くしてください。メモリの二次割り当てによって生じるオーバーヘッドにより、プログラムのパフォーマンスが大幅に向上します。

関連する推奨事項: golang チュートリアル

以上がgo 言語での make の使用法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。