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

go言語でのmakeの使い方は何ですか?

藏色散人
藏色散人オリジナル
2021-01-27 11:49:4211457ブラウズ

Go 言語の make の機能は、スライス、マップ、チャネルにメモリを割り当て、初期化された値を返すことです。その使用方法は次のとおりです: 1. [make(map[string]string)]; 2 . [make( []int, 2)]; 3. [make([]int, 2, 4].

go言語でのmakeの使い方は何ですか?

この記事の動作環境: Windows7 システム、Go1.11.2 、Dell G3 コンピューター

推奨事項: 《golang チュートリアル

golang での make の使用法

Golang は主にメモリを割り当てます new と make という組み込み関数があります。今日は make がどのように再生できるかを検討します。

make はスライス、マップ、チャネルにのみメモリを割り当て、初期化された値を返しますまず、make の次の 3 つの関数のさまざまな使用法を見てみましょう:

1. make(map[string]string)

2. make([]int, 2)

3. make([]int , 2, 4)

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

2. 2 番目の使用法では、次のように指定します。たとえば、make([]int, 2) が返す長さは、長さ 2

3 のスライスです。3 番目の使用法では、2 番目のパラメータでスライスの長さを指定し、3 番目のパラメータが使用されます:= make ([]int, 2, 4) のように予約スペースの長さを指定する場合、返されるスライス a の合計の長さは 4 であることに注意してください。予約とは、追加の長さを意味するものではありません。 4 ですが、実際には前の 2 つのスライスの数が含まれます。したがって、たとえば、次のように := make([]int, 4, 2) を使用すると、構文エラーが報告されます。したがって、スライスにメモリを割り当てるときは、スライスの可能な最大長を推定し、make に 3 番目のパラメータを渡すことでスライス用のメモリ領域を確保する必要があります。これにより、メモリの二次割り当てによるオーバーヘッドが回避され、大幅に増加します。プログラムのパフォーマンスを向上させます。

概要:

make は、slice、map、および chan 型のデータの割り当てと初期化にのみ使用されます。new は任意の型を割り当てることができます。データの.

新しい割り当て 返されるのはポインタ、つまり *Type です。make は参照、つまり Type を返します。

new によって割り当てられたスペースはクリアされ、 make がスペースを割り当てた後、初期化されます。

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

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