如何在Golang中使用new关键字实例化Struct?

如何在Golang中使用new关键字实例化Struct?

在Golang中,我们可以使用new关键字来实例化一个Struct类型的变量。实例化一个Struct变量可以让我们在程序中使用该类型的变量,并且给这个变量赋值。

什么是Struct?

Sturct是一种复合类型(Composite type),它是由一些变量组合而成的数据类型。Struct可以用来表示一个实体或相关属性的集合。Struct中的变量被称为字段(field)。我们可以将Struct看作是一个自定义类型,它有自己的字段,每个字段都有自己的类型和名字。

下面是一个简单的Struct的定义和实例:

type Person struct {
    Name string
    Age  int
}

func main() {
    p1 := Person{"Bob", 20}
    p2 := Person{Name: "Alice", Age: 25}
}

在上面的代码中,我们定义了一个名为Person的Struct,它有两个字段:Name和Age。使用这个定义,我们可以创建两个Person类型的变量p1和p2,并且给它们赋予不同的值。p1的Name字段为”Bob”,Age字段为20;p2的Name字段为”Alice”,Age字段为25。

如何使用new关键字实例化Struct?

我们可以使用new关键字来实例化一个Struct类型的变量。new函数的作用是创建一个新的变量并返回该变量的地址。对于Struct类型的变量,我们必须使用&符号将其地址返回。

下面是一个使用new关键字实例化Struct的例子:

type Person struct {
    Name string
    Age  int
}

func main() {
    p := new(Person)
    p.Name = "Bob"
    p.Age = 20
}

在上面的代码中,我们定义了一个名为Person的Struct,并使用new函数实例化了一个变量p。然后我们给p的Name字段赋值为”Bob”,Age字段赋值为20。需要注意的是,在给一个使用new函数实例化的变量的字段赋值时,我们需要使用”.”操作符来访问该字段。

示例代码

为了更好地理解如何在Golang中使用new关键字实例化Struct,我们来看一个更完整的例子。

package main

import "fmt"

type Student struct {
    Name  string
    Age   int
    Grade int
}

func main() {
    s := new(Student)
    s.Name = "Tom"
    s.Age = 18
    s.Grade = 12

    fmt.Printf("Name: %s, Age: %d, Grade: %d", s.Name, s.Age, s.Grade)
}

在这个例子中,我们定义了一个名为Student的Struct类型。我们在main函数中使用new关键字实例化了一个Student类型的变量s,并给它的Name、Age、Grade字段赋值。最后,我们使用Printf函数打印出了s的每个字段的值。

结论

在Golang中,我们可以使用new关键字来实例化一个Struct类型的变量。实例化一个Struct变量可以让我们在程序中使用该类型的变量,并且给这个变量赋值。需要注意的是,在给一个使用new函数实例化的变量的字段赋值时,我们需要使用”.”操作符来访问该字段。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Go 教程