ポインタのデリファレンス
CoddyのGOジャーニー「基礎」セクションの一部。レッスン 63/109。
ポインターの逆参照(*)を使用すると、メモリアドレスに格納されている値にアクセスできます。これはポインターを「逆参照」すると呼ばれます。
variable と pointer を作成します:
func main() {
number := 42
pointer := &number
// ポインタをデリファレンスして値を取得する
value := *pointer
fmt.Println("Pointer:", pointer)
fmt.Println("Dereferenced value:", value)
}出力には pointer と、それが指し示す値の両方が表示されます:
Pointer: 0xc000018030
Dereferenced value: 42pointer 変数の前にあるアスタリスク(*)は、そのメモリアドレスにある実際の値にアクセスします。
チャレンジ
初心者このチャレンジでは、Goでポインタをデリファレンスする練習をします。文字列値を持つ変数 message と、それを指すポインタ messagePtr があります。
あなたの課題は、ポインタをデリファレンスして、ポインタが指している値にアクセスし、その値を出力することです。
自分で試してみよう
package main
import "fmt"
func main() {
// これが私たちの文字列変数です
message := "Hello, pointers!"
// これはmessage変数へのポインタです
messagePtr := &message
// TODO: messagePtrをデリファレンスして、それが指す値を取得する
// そしてそれを変数 'value' に格納する
value := ""
// 結果を出力する
fmt.Println("The pointer points to the value:", value)
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Goオンラインコンパイラ