Go で Int ポインターを Int 値に設定する
ポインター変数に値を代入しようとするときは、ポインタが nil ではありません。 nil ポインタを逆参照しようとすると、あなたも経験したように、実行時パニックが発生する可能性があります。
解決策:
ポイントされた値を設定するには、ポインタが有効なものを指している必要があります。 。 new() 関数を使用して、値 0 の int へのポインタを取得できます。
guess := new(int) *guess = 12345
これにより、int 変数にメモリが割り当てられ、そのメモリを指すようにポインタが設定されます。これで、ポインタを介して指定された値を変更できるようになりました。
簡略化された宣言:
短い変数宣言を使用して、宣言と初期化を簡素化できます:
guess := new(int) *guess = 12345
代替案アプローチ:
既存の変数のアドレスをポインターに割り当てることもできます:
value := 12345 guess := &value
これは、ポイントされた値ではなく、ポインター値を変更します。ただし、この単純な例でも、効果は似ています。
ポイントされた値の変更:
ポインタを通じてポイントされた値を変更すると、変数の値も変更されます。を指します。逆に、変数の値を変更すると、指定された値に影響します。
var value int guess := &value value = 12345 fmt.Println(*guess) // Prints: 12345
ポインターを使用すると、変数の値を間接的に変更する便利な方法が提供されます。ただし、nil ポインター エラーを回避し、データの整合性を確保するには、ポインターを適切に初期化することが重要です。
以上がGo で整数値を整数ポインターに安全に割り当てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。