Go ポインタの書き換え
概要
前回ポインタ初歩
を始めたので今回はポインタの書き換え
書籍 入門GoプログラミングのLESSON 26を復習
ただの変数の例
children
変数の中身は関数に渡しても書き換えられない
テストコード
|
|
実行結果
children
は当然 惣流 のまま
惣流・アスカ・ラングレー
式波・アスカ・ラングレー
ポインタ型の例
関数やメソッドの境界を超えて値の書き換えに利用できる
children
の メモリアドレス を関数に渡して書き換え
関数側でメモリアドレスをデリファレンスして新しい値を入れる
テストコード
ポインタ対応に少し修正
|
|
実行結果
元々のchildren
のメモリアドレスの場所に関数側で式波
を入れたので、
結果は元々のchildren
も 式波 になった(どっちも式波!)
式波・アスカ・ラングレー
式波・アスカ・ラングレー
戒め
ポインタは便利かもしれませんが、複雑になります。
値を複数の場所から変更できるとしたら、コードを追いかけるのが難しくなるでしょう。
感想
構造体を使ったポインタの受け渡しがAWS SDK使ってると多いので、
次回は構造体とポインタをテーマにしよう
参考
入門Goプログラミング
現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発