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で取り出します。
取材やお仕事紹介などはこちらからお気軽にご連絡下さい。
ysa7825@gmail.com