ホームページ > バックエンド開発 > Golang > Go で整数値を整数ポインターに安全に割り当てるにはどうすればよいですか?

Go で整数値を整数ポインターに安全に割り当てるにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-01 07:57:11
オリジナル
949 人が閲覧しました

How to Safely Assign an Integer Value to an Integer Pointer in Go?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート