关于go:Golang-给结构体绑定方法

3次阅读

共计 901 个字符,预计需要花费 3 分钟才能阅读完成。

如果咱们有一个个人档案的构造体,而后想给这个构造体绑定办法能够这样:

package main

import "fmt"

// 定义一个装档案的构造体
type Archive struct {
    name, gender string
    age          int
    mom          *Archive
    dad          *Archive
}

// 定义一个和档案构造体绑定的办法
func (person Archive) FormatArchive() {fmt.Printf("name: %s\n", person.name)
    fmt.Printf("gender: %s\n", person.gender)
    fmt.Printf("age: %d\n", person.age)
}

func main() {
    //    实例化一个构造体
    bill := Archive{name: "bill", age: 17, gender: "Male"}
    //    调用构造体绑定的办法
    bill.FormatArchive()}

那么,当咱们想在构造体绑定的办法上扭转构造体的数据的时候,咱们须要用指针,具体就是这样:

package main

import "fmt"

// 定义一个装档案的构造体
type Archive struct {
    name, gender string
    age          int
    mom          *Archive
    dad          *Archive
}

// 定义一个和档案构造体绑定的办法
func (person Archive) FormatArchive() {fmt.Printf("name: %s\n", person.name)
    fmt.Printf("gender: %s\n", person.gender)
    fmt.Printf("age: %d\n", person.age)
}

// 定义一个扭转实力参数的函数
func (person *Archive) decrease_age() {person.age -= 1}

func main() {
    //    实例化一个构造体
    bill := Archive{name: "bill", age: 17, gender: "Male"}
    //    调用构造体绑定的办法
    bill.FormatArchive()
    bill.decrease_age()
    bill.FormatArchive()}
正文完
 0