首页后端开发GOgo的数据类型-复合数据类型-struct(二)

go的数据类型-复合数据类型-struct(二)

时间2023-04-26 12:45:01发布访客分类GO浏览1221
导读:操作在Go中,我们可以定义方法来操作结构体类型。方法是一种特殊的函数,它们与特定类型的值相关联,并可以访问该类型的字段。定义一个结构体类型的方法需要在函数名前面加上一个接收者类型,该类型指定了该方法所关联的结构体类型。例如,我们可以定义一个...

操作

在Go中,我们可以定义方法来操作结构体类型。方法是一种特殊的函数,它们与特定类型的值相关联,并可以访问该类型的字段。

定义一个结构体类型的方法需要在函数名前面加上一个接收者类型,该类型指定了该方法所关联的结构体类型。例如,我们可以定义一个Person结构体类型的方法,用于打印该结构体的信息:

func (p Person) PrintInfo() {

    fmt.Printf("Name: %s, Age: %d\n", p.Name, p.Age)
}

该方法的接收者类型为Person,并将其命名为p。在该方法中,我们可以通过p.Namep.Age来访问结构体类型的字段,并使用fmt.Printf函数输出结构体类型的信息。

我们可以使用以下代码来调用该方法:

person.PrintInfo()

这将输出Name: Alice, Age: 31

除了使用值类型作为接收者类型之外,我们还可以使用指针类型作为接收者类型。这将使方法可以修改结构体类型的字段。例如,我们可以定义一个SetAge方法,用于设置Person结构体类型的年龄:

func (p *Person) SetAge(age int) {

    p.Age = age
}
    

该方法的接收者类型为*Person,并将其命名为p。在该方法中,我们可以通过p.Age来访问结构体类型的Age字段,并将其设置为传递给方法的age参数。

我们可以使用以下代码来调用该方法:

person.SetAge(32)
fmt.Printf("Name: %s, Age: %d\n", person.Name, person.Age)

这将输出Name: Alice, Age: 32

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

go

若转载请注明出处: go的数据类型-复合数据类型-struct(二)
本文地址: https://pptw.com/jishu/9239.html
go的数据类型-其他数据类型-pointer(二) go的数据类型-复合数据类型-struct(一)

游客 回复需填写必要信息