最近Goを触り始めました。右も左も分からない状況ですが、今日学んだことをアウトプットしていきます。
ポインタ
めちゃ大事そうだったのでまとめようとおもいます。まず、これを理解するためにはアドレスを理解しなければなりません。
コンピュータにはメモリという作業場があって、変数はこのメモリに格納されているんですね。その格納されている場所をアドレスというんです。Goではアドレスをポインタと呼んでいます。
つまり、アドレス=ポインタ
実際にポインタを取得してみましょう
test.go
package main
import "fmt"
func main() {
name := "what is golang?"
fmt.Println(&name)
}
=> 0xc000042230
Printlnの後に、&変数名と書くことでポインタを取得できます。
それでは今度はポインタを変数に代入してみましょう。
test.go
package main
import "fmt"
func main() {
name := "what is golang?"
var testname *string = &name
fmt.Println(testname)
}
=> 0xc000042230
ポインタ型変数を定義するには、データ型に「*」をつけて、&変数名を右辺に書けばオッケです。
ポインタに入れたポインタの実際の値を出力してみましょう。
package main
import "fmt"
func main() {
name := "what is golang?"
var testname *string = &name
fmt.Println(testname)
fmt.Println(*testname)
}
=> 0xc000042230
what is golang?
以上です。何か間違いがございましたら、ご教示いただけますと幸いです。
【参考資料】