最終更新日: 2026-07-25
TOP(About this memo)) > 一覧(Go) > ポインタ
type person struct {
height float32
weight float32
}
...
p := new(person)
func DeepCopy[T any](src *T) *T {
dst := new(T)
...
}
package main
import "fmt"
type myString string
type myStruct struct{}
func main() {
// fmt.Println(&3) // error
// fmt.Println(&f())// error
// fmt.Println(myString("aaa")) //error
fmt.Println(&struct{ a string }{a: "aaa"}) // 構造体は可能
fmt.Println(&myStruct{})
a := 3
fmt.Println(&a)
b := f()
fmt.Println(&b)
}
func f() string {
return "fff"
}
// &3 -> Ptr(3)
// &SomeFunc()-> Ptr(SomeFunc())
func Ptr[T any](a T) *T {
return &a
}