0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ポインタについて

Posted at

最近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?

以上です。何か間違いがございましたら、ご教示いただけますと幸いです。
【参考資料】

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?