golangのスライスから構造体ポインタを取得するにはどうすればよいですか

石鹸 :

これがコードです:

package main

import (
    "fmt"
)

type demo struct {
     name string
}

func main() {
     demo_slice := make([]demo, 3)
     demo_slice[0] = demo{"str1"}
     demo_slice[1] = demo{"str2"}
     demo_slice[2] = demo{"str3"}

     point_demo_slice := make([]*demo, 3)
     for index, value := range demo_slice {
          fmt.Printf("\n%v==++++++++++++++%p\n", value, &value)
          point_demo_slice[index] = &value
     }
}

結果:

{str1}==++++++++++++++0x20818a220

{str2}==++++++++++++++0x20818a220

{str3}==++++++++++++++0x20818a220

0x20818a220 最後の要素のポインタ値です。

なぜすべてのポインター値が同じですか?

どうすればこれらの正しいポインター値を取得できますか?

icza:

スライスの要素ではなく、ローカルvalue変数を参照しています。

fmt.Printf("\n%v==++++++++++++++%p\n", value, &value)

したがって、すべてのポインター値は同じになります(ローカル変数のアドレスvalue)。スライスの要素へのポインタが必要な場合は、適切な要素のアドレスを取得します。

fmt.Printf("\n%v==++++++++++++++%p\n", demo_slice[index], &demo_slice[index])

これにより、次の出力が生成されます。すべてのポインターは異なります。

{str1}==++++++++++++++0x104342e0

{str2}==++++++++++++++0x104342e8

{str3}==++++++++++++++0x104342f0

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

構造体を物理的に作成せずに、構造体のReflect.Typeインスタンスを取得するにはどうすればよいですか?

分類Dev

jsonb列をスキャンして構造体/ポインタのスライスにするにはどうすればよいですか?

分類Dev

構造体へのポインタを持つ構造体フィールドを取得するにはどうすればよいですか?

分類Dev

Goの構造体のスライスから構造体を削除するにはどうすればよいですか?

分類Dev

構造体へのポインタの配列を作成するにはどうすればよいですか?

分類Dev

Cの構造体へのポインタを逆参照するにはどうすればよいですか?

分類Dev

インターフェイススライスで構造体変数の値を設定するにはどうすればよいですか?

分類Dev

割り当て関数の外部から構造体ポインタの値にアクセスするにはどうすればよいですか?

分類Dev

Cの構造体にポインタを割り当てるにはどうすればよいですか?

分類Dev

構造体へのポインタへのポインタのメンバーにアクセスするにはどうすればよいですか?

分類Dev

構造体のポインタで[]バイトをキャストするにはどうすればよいですか?

分類Dev

不明なインターフェイスで構造体の値を取得するにはどうすればよいですか{}

分類Dev

Cのプロセス間でポインターを使用して構造体を共有するにはどうすればよいですか?

分類Dev

Racketでコンパイル時の構造体メタデータを提供しながら構造体コンストラクターをオーバーライドするにはどうすればよいですか?

分類Dev

生のポインタを含む構造体にライフタイムを適用するにはどうすればよいですか?

分類Dev

従来のCAPIを呼び出すときに、最新のC ++で構造体へのポインターを他の構造体へのポインターに正しくキャストするにはどうすればよいですか?

分類Dev

構造体配列から1つのデータ行を削除するにはどうすればよいですか?(インデックス付き)

分類Dev

構造体にnullポインタを作成するにはどうすればよいですか?

分類Dev

構造体初期化子でポインタ型を使用するにはどうすればよいですか?

分類Dev

マップで構造体ポインタを使用するにはどうすればよいですか?

分類Dev

Golangで構造体データとインターフェースデータを比較するにはどうすればよいですか?

分類Dev

golangの構造体であるスライス要素を変更するにはどうすればよいですか?

分類Dev

クラスメンバーのポンターがc ++ 11のクラスまたは構造体タイプであるかどうかを確認するにはどうすればよいですか?

分類Dev

ポインタと配列を使用してネストされた構造体にアクセスするにはどうすればよいですか?

分類Dev

Cで構造体なしでネストされたダブルポインタを作成するにはどうすればよいですか?

分類Dev

構造体へのポインタのメンバーにアクセスするにはどうすればよいですか?

分類Dev

スレッド間でファントムポインタを含む構造体を共有するにはどうすればよいですか?

分類Dev

ネストされた構造体でポインタを参照するにはどうすればよいですか?

分類Dev

構造体のメンバーを指すポインターから、構造体の先頭へのポインターを移植可能な方法で計算するにはどうすればよいですか?

Related 関連記事

  1. 1

    構造体を物理的に作成せずに、構造体のReflect.Typeインスタンスを取得するにはどうすればよいですか?

  2. 2

    jsonb列をスキャンして構造体/ポインタのスライスにするにはどうすればよいですか?

  3. 3

    構造体へのポインタを持つ構造体フィールドを取得するにはどうすればよいですか?

  4. 4

    Goの構造体のスライスから構造体を削除するにはどうすればよいですか?

  5. 5

    構造体へのポインタの配列を作成するにはどうすればよいですか?

  6. 6

    Cの構造体へのポインタを逆参照するにはどうすればよいですか?

  7. 7

    インターフェイススライスで構造体変数の値を設定するにはどうすればよいですか?

  8. 8

    割り当て関数の外部から構造体ポインタの値にアクセスするにはどうすればよいですか?

  9. 9

    Cの構造体にポインタを割り当てるにはどうすればよいですか?

  10. 10

    構造体へのポインタへのポインタのメンバーにアクセスするにはどうすればよいですか?

  11. 11

    構造体のポインタで[]バイトをキャストするにはどうすればよいですか?

  12. 12

    不明なインターフェイスで構造体の値を取得するにはどうすればよいですか{}

  13. 13

    Cのプロセス間でポインターを使用して構造体を共有するにはどうすればよいですか?

  14. 14

    Racketでコンパイル時の構造体メタデータを提供しながら構造体コンストラクターをオーバーライドするにはどうすればよいですか?

  15. 15

    生のポインタを含む構造体にライフタイムを適用するにはどうすればよいですか?

  16. 16

    従来のCAPIを呼び出すときに、最新のC ++で構造体へのポインターを他の構造体へのポインターに正しくキャストするにはどうすればよいですか?

  17. 17

    構造体配列から1つのデータ行を削除するにはどうすればよいですか?(インデックス付き)

  18. 18

    構造体にnullポインタを作成するにはどうすればよいですか?

  19. 19

    構造体初期化子でポインタ型を使用するにはどうすればよいですか?

  20. 20

    マップで構造体ポインタを使用するにはどうすればよいですか?

  21. 21

    Golangで構造体データとインターフェースデータを比較するにはどうすればよいですか?

  22. 22

    golangの構造体であるスライス要素を変更するにはどうすればよいですか?

  23. 23

    クラスメンバーのポンターがc ++ 11のクラスまたは構造体タイプであるかどうかを確認するにはどうすればよいですか?

  24. 24

    ポインタと配列を使用してネストされた構造体にアクセスするにはどうすればよいですか?

  25. 25

    Cで構造体なしでネストされたダブルポインタを作成するにはどうすればよいですか?

  26. 26

    構造体へのポインタのメンバーにアクセスするにはどうすればよいですか?

  27. 27

    スレッド間でファントムポインタを含む構造体を共有するにはどうすればよいですか?

  28. 28

    ネストされた構造体でポインタを参照するにはどうすればよいですか?

  29. 29

    構造体のメンバーを指すポインターから、構造体の先頭へのポインターを移植可能な方法で計算するにはどうすればよいですか?

ホットタグ

アーカイブ