Golang 言語の継続的な開発により、関数ポインター配列と配列ポインターも Golang プログラミングの重要な部分になりました。この記事では、Golang 関数におけるポインター配列と配列ポインターの応用スキルについて説明し、いくつかの実用的なサンプル コードと関連する説明を提供します。
Golang ポインタ配列の基本概念
まず、Golang ポインタ配列について理解しましょう。ポインターの配列は、異なる変数またはオブジェクトを指す複数のポインターで構成される配列であるデータ型です。次のコードを使用して、ポインター配列を宣言できます。
var ptrArr [4]*int
このコードは、長さ 4 のポインター配列を宣言します。ここで、各要素は int 型へのポインターです。もちろん、配列の長さを任意の値に設定することもできます。
Golang では、次の方法でポインタ配列に要素を追加できます。
var p1 = new(int) var p2 = new(int) var p3 = new(int) var p4 = new(int) ptrArr := [4]*int{p1, p2, p3, p4}
new 関数によって作成されたポインタ変数はメモリ アドレスを割り当て、そのアドレスへのポインタを返します。 。したがって、上記のコードはポインター配列に 4 つの要素を追加し、各要素は int 型の変数を指します。
ポインタ配列の応用
ポインタ配列は Golang プログラミングにおいて非常に便利で、さまざまな状況で使用できます。ここでは実際の使用例をいくつか示します。
複数の変数を同じ値に設定する必要があるとします。この目的のためのポインタの配列。次のコードは、ポインターの配列を使用して int 型の複数の変数を設定する方法を示しています。
var a, b, c, d int ptrArr := [4]*int{&a, &b, &c, &d} for _, p := range ptrArr{ *p = 8 } fmt.Println(a, b, c, d) //将会输出 "8 8 8 8"
この例では、最初に int 型の 4 つの変数を宣言し、次に各要素を含むポインターの配列を作成します。はすべてこれら 4 つの変数へのポインタです。次に、for ループを使用してこのポインターの配列を反復処理し、各ポインターが指す値を 8 に設定します。
前の例との違いは、この例では、次の 2 つの変数を割り当てる必要があることです。タイプが異なる場合は同じ値に設定してください。次のコードは、ポインターの配列を使用して string 型の変数と int 型の変数を設定する方法を示しています。
var i int var j string ptrArr := [2]interface{}{&i, &j} for _, p := range ptrArr{ switch t := p.(type) { case *int: *t = 5 case *string: *t = "Golang" } } fmt.Println(i, j) //将会输出 "5 Golang"
この例では、長さ 2 のポインター配列を使用します。 pointer to int 型変数へのポインタ、もう 1 つは string 型変数へのポインタです。 for ループと switch ステートメントを通じてこのポインターの配列を反復処理し、各ポインターが指す値を対応する値に設定します。
Golang 配列ポインターの基本概念
次に、Golang 配列ポインターについて学びましょう。配列ポインタは配列へのポインタです。次のコードを使用して配列ポインタを宣言できます:
var arrPtr *[4]int
この例では、int 型の配列へのポインタを宣言します。このポインタは配列全体を操作するために使用できます。
配列ポインターの使用
Golang プログラミングでは、配列ポインターをさまざまなタスクに使用できます。配列ポインターの使用例をいくつか示します。
Golang では、配列とスライスは両方とも値型です。つまり、配列を関数に渡すと、関数は配列のコピーを作成します。関数に渡される配列を変更する場合は、配列ポインターを使用する必要があります。次のコードは、配列ポインターを使用して関数に配列を渡す方法を示しています。
func modifyArray(arr *[4]int) { arr[0] = 5 arr[2] = 7 } var arr [4]int arrPtr := &arr modifyArray(arrPtr) fmt.Println(arr) //将会输出 "[5 0 7 0]"
この例では、最初に配列と配列ポインターを宣言します。次に、配列ポインタをmodifyArrayという関数に渡します。この関数は、渡された配列を変更します。関数modifyArrayでは、配列ポインタを介して関数の外で配列にアクセスし、それを変更できます。
一部のシナリオでは、同じ目的を達成するために配列ポインターを配列の代わりに使用できます。次のコードは、配列ポインターを使用して配列を操作する方法を示しています。
arrPtr := new([4]int) for i := 0; i < 4; i++ { arrPtr[i] = i + 1 } for _, v := range arrPtr { fmt.Println(v) //将会输出 "1 2 3 4" }
この例では、new 関数を使用して新しい配列を割り当て、それを配列ポインターにポイントします。通常の配列にアクセスするのと同じように、このポインターを介して配列内の各要素にアクセスできます。
結論
この記事では、Golang 関数のポインター配列と配列ポインターの応用スキルについて詳しく説明し、いくつかの実践的なサンプル コードと関連する説明も提供しました。
ポインター配列と配列ポインターは、Golang プログラミングにおいて非常に重要なツールであり、さまざまなシナリオで使用できます。基本的な概念と使用方法を理解していれば、Golang プログラミングがより快適になります。
以上がGolang 関数ポインタ配列と配列ポインタの応用スキルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。