go言語入門学習サイト

go言語初心者のために基礎から解説します。

go言語でポインタを構造体で使用する

go言語で構造体でポインタを扱う事ができます。
その方法をやってみましょう。

【結論】

&vで構造体の値をポインタで返します。

【理由】


package main

import "fmt"

func main() {
// 構造体を定義
type 構造体 struct {

  // ポインタ変数を割り当てる
  p := &v

}

関数内でポインタを渡してそのポインタを出せば良いのです。



【具体例】

package main

import "fmt"

type Vertex struct {
X int
Y int
}

func main() {
v := Vertex{1, 2}
p := &v
// var p *Vertex
// p = &v
p.X = 1e9
fmt.Println(v)
}



{1000000000 2}

p.X = 1e9は
p := &vがpにVertexをかけます。
さらにp = &vでポインタ変数を割り当てる。
整数型のXに1e9を取り出し{1000000000 2}となります。

【結論】

ポインタを取り出す事により大きいサイズを使いやすくなります。
データのサイズが大きい場合は構造体からp := &vで取り出します。






TechAcademy [テックアカデミー]


【アイデミー】AIを学んで一発逆転のキャリアチェンジ!



取材やお仕事紹介などはこちらからお気軽にご連絡下さい。
ysa7825@gmail.com