go的数据类型-复合数据类型-struct(二)
导读:操作在Go中,我们可以定义方法来操作结构体类型。方法是一种特殊的函数,它们与特定类型的值相关联,并可以访问该类型的字段。定义一个结构体类型的方法需要在函数名前面加上一个接收者类型,该类型指定了该方法所关联的结构体类型。例如,我们可以定义一个...
操作
在Go中,我们可以定义方法来操作结构体类型。方法是一种特殊的函数,它们与特定类型的值相关联,并可以访问该类型的字段。
定义一个结构体类型的方法需要在函数名前面加上一个接收者类型,该类型指定了该方法所关联的结构体类型。例如,我们可以定义一个Person
结构体类型的方法,用于打印该结构体的信息:
func (p Person) PrintInfo() {
fmt.Printf("Name: %s, Age: %d\n", p.Name, p.Age)
}
该方法的接收者类型为Person
,并将其命名为p
。在该方法中,我们可以通过p.Name
和p.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的数据类型-复合数据类型-struct(二)
本文地址: https://pptw.com/jishu/9239.html