golang-ノート1


ポインター:

ポインタはアドレスです。ポインタ変数は、アドレスを格納する変数です。

* P:間接参照、間接参照。

スタックフレームは:機能の操作のためのメモリ空間を提供するための手段。メモリ・スタックに取ります。

場合は、関数呼び出し、スタックフレームが生成されます。関数呼び出しの終わりには、スタックフレームを解放します。

メモリスタックフレーム:1.ローカル変数。2.パラメータ。(形態当量の間のローカル変数記憶位置)3.メモリの説明フィールド値

ポインタ注意:

NULLポインタ:初期化されていないポインタ。VARのp *はint * P - > ERR

ワイルドポインタ:無効なアドレス空間の初期化すること。

書式付き出力:

%のQ:表示言語形式の文字列を移動します。「」マークの付いたデフォルト

%のV:データの詳細を表示

変数は保存されます。

メモリ空間の変数点を表す左側の変数、。(書き込み)

可変メモリ空間に格納されたデータ値の代わりに、等号の右側にある変数。(読みます)

伝達関数ポインタパラメータ(参照渡し)。

送信アドレス(参照):引数として渡されたパラメータのアドレス値。

値によって(データに従って):引数の値がパラメータをコピーします。

参照によって:フレーム内のスタック、変数Bのスタックフレームの値を変更します。

スライス:

なぜスライスを使用します。

1アレイの容量が固定され、自動的に拡張することができません。

転送の値2。パラメータ配列の関数として、全体のアレイは、パラメータの値をコピーすることです。

ときに行くの言語、私たちすることができますほとんどすべてのシナリオ、スライス代替使用のアレイを使用します。

自然のスライス:

ないポインタ配列は、配列は、内部構成要素を動作させるために使用されるデータ構造です。ランタイム/ slice.goスライスタイプstruct {
* P
LEN
:CAP使用スライス
}
アレイとスライス定義の違いを。

指定された長さの配列[]アレイを作成する場合。

あなたは、スライスを作成すると、[]は空である、または...

スライス名[低:高:最大]

低:初期インデックス位置

高:=高lenの終了インデックス位置 - 低

容量:キャップ=最大 - 低

アレイの初期化スライスを撮影し、スライスは、元の配列のスライス(スライス)に追従する能力を容量が指定されていません。

S [:高:最大]:0からハイエンドまで。(同梱されていません)

S [低:]:最初から最後まで低

S [高]:0からハイエンドまで。オリジナルの容量を追跡する能力。[共通]

スライスの作成:

1.自動派生タイプは、スライスを作成します。スライス:= [] INT {1、2、4、6}

2.スライス:=メイク([] int型、長さ、体積)

3.スライス:時間=メイク([] int型、長さ)は、スライスを作成するために、容量が指定されていない、長さ==容量。[共通]

参照渡し - 関数パラメータのスライス。(転送アドレス)

追記:スライスの最後に要素を追加

追加(スライスオブジェクト、要素を追加します)

スライスする要素を追加すると、スライスの容量が自動的に拡張されます。ときは1024以下、ダブル道の増加。

コピー:

コピー(スライス内の目標位置、スライス源)

コピー処理、対応する位置の直接コピー。

地図:

辞書、マップキー - 値キー:ユニークな、順不同。あなたは、参照型のデータにすることはできません。

マップは、(キャップ​​を使用することはできません)

やり方を作成します:
1.地図M1のvar [INT]文字列データを保存することはできません---

2. M2:=マップ[INT]列{} ---データを記憶することができます

3. M3:=(マップ[INT]列)を作る---デフォルトLEN = 0

4. M4:=(マップ[INT]列、10)を作ります

初期化:

1 VAR Mマップ[INT]ストリング=マップ[INT]ストリング{1: "AAA"、2: "BBB" は}そのキーを確実にするために互いに重なりません。

2. M:=マップ[INT]ストリング{1: "AAA"、2: "BBB"}

割り当て:

割り当てプロセス、重要な要素は、元のキーマップ要素と同じである場合、新しいマップ - >カバー(代替)

割り当てプロセスは、新しいマップとキーの元のマップ異なる要素の重要な要素があれば - >追加します

マップを使用してください:

マップを横断:

值キー值、値は:=レンジマップ{

}

值キーの:=レンジマップ{

}

マップキーを分析する存在します。

地図【インデックス】操作は:2つの値を返す値が存在しない場合、最初の値が、値の表です。nilに

存在する場合、第2の鍵テーブルbool型。真があり、falseが存在しません。

マップを削除します。

文献1:特許文献2削除する地図要素:キー値()関数を削除

存在しないキーではなく、エラーを削除するには(マップ、キー)を削除します。

関数の引数と参照渡し、戻り値のマップ。




 

おすすめ

転載: www.cnblogs.com/landv/p/10958405.html