アドレス演算子
CoddyのGOジャーニー「基礎」セクションの一部 — レッスン 62/109。
アドレス演算子 (&)は、変数のメモリアドレスを取得します。これはGoでポインタを作成する方法です。
変数を作成し、そのメモリ番地を取得します:
func main() {
number := 42
addressOfNumber := &number
fmt.Println("Value:", number)
fmt.Println("Address:", addressOfNumber)
}出力には値とそのメモリアドレスが表示されます:
Value: 42
Address: 0xc000018030アドレス(0xc000018030 のようなもの)は、値が格納されているメモリ上の場所を表す16進数です。このアドレスは、プログラムを実行するたびに異なります。
チャレンジ
初心者このチャレンジでは、Goにおけるアドレス演算子 (
あなたのタスクは、アドレス演算子を使用して提供された変数のメモリアドレスを取得し、既に宣言されているポインタ変数に格納することです。
&) の使用を練習します。アドレス演算子は変数のメモリアドレスを返します。これは、変数の値がコンピュータのメモリ内のどこに格納されているかを示すものです。あなたのタスクは、アドレス演算子を使用して提供された変数のメモリアドレスを取得し、既に宣言されているポインタ変数に格納することです。
チートシート
アドレス演算子 (&) は、変数のメモリアドレスを取得し、Goでポインタを作成するために使用されます。
number := 42
addressOfNumber := &number
fmt.Println("Value:", number)
fmt.Println("Address:", addressOfNumber)アドレスは、値が格納されているメモリ上の場所を表す16進数(0xc000018030 など)として表示されます。このアドレスは、プログラムを実行するたびに異なります。
自分で試してみよう
package main
import "fmt"
func main() {
// これはサンプルの変数です
name := "Gopher"
// これは文字列のアドレスを格納するためのポインタ変数を宣言しています
var namePointer *string
// TODO: アドレス演算子 (&) を使用して 'name' のメモリ番地を取得し、
// それを 'namePointer' 変数に格納してください
// ポインタが指し示している値を出力します
fmt.Printf("The value at that memory address is: %v\n", *namePointer)
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。