Go言語のnew関数はどのように使いますか?
Go言語では、newは組み込み関数であり、指定された型のゼロの値を作成し、そのポインタを返すために使用されます。
new関数を使用する際の構文は以下の通りです:
ptr := new(Type)
Typeは作成するタイプであり、ptrはそのタイプを指すポインタです。
new関数を使用してポインタを作成する例を以下に示します:
package main
import "fmt"
type Person struct {
Name string
Age int
}
func main() {
// 使用new函数创建Person类型的指针
p := new(Person)
// 使用指针访问结构体字段,并赋值
p.Name = "Alice"
p.Age = 20
// 打印结构体指针的值
fmt.Println(p)
}
結果は次のようになります:
&{Alice 20}
この例では、私たちはPerson型のポインタpを作成するためにnew(Person)を使用しました。その後、ポインタを使用して構造体のフィールドにアクセスし、値を設定することができます。最後に、構造体ポインタの値を出力することで、そのポインタが指定されたフィールド値を持つ構造体オブジェクトを指していることがわかります。