ポインタ

Go 言語げんごのポインタ:参照さんしょう、デリファレンス、わたかた

Pointer 基礎

Go Pointer
  • &Reference - 変数へんすうのメモリアドレスを取得しゅとく
  • *Dereference - ポインタのあたい取得しゅとく、つまり変数へんすう格納かくのうされているメモリアドレスのあたい
var year int = 2021
var p *int = &year
fmt.Println("&year = ", &year)
fmt.Println("p = ", p)

ポインタの宣言

var <pointer_name> *<data_type>

var ptr_i *int

ポインタの初期化

var <pointer_name> *<data_type> = &<variable_name>

Passing by Value

すべての基本きほんかたはデフォルトで値渡あたいわたし:

  • int
  • float
  • bool
  • string
  • array

Passing by Reference

以下いかかたはデフォルトで参照渡さんしょうわたし:

  • Slices
  • Maps
  • Channels
  • Pointers
  • Functions