1. 程式人生 > >go語音進階之為結構體型別新增方法

go語音進階之為結構體型別新增方法

1、為結構體型別新增方法

示例:

package main

import "fmt"

type Person struct {
	name string //名字
	sex  byte   //性別, 字元型別
	age  int    //年齡
}

//帶有接收者的函式叫方法
func (tmp Person) PrintInfo() {
	fmt.Println("tmp = ", tmp)
}

func (p *Person) SetInfo(n string, s byte, a int) {
	p.name = n
	p.sex = s
	p.age = a
}

func main() {
	//定義同時初始化
	p := Person{"mike", 'm', 18}
	p.PrintInfo()

	var p2 Person
	(&p2).SetInfo("yoyo", 'f', 22)
	p2.PrintInfo()
}

執行結果:

tmp =  {mike 109 18}

tmp =  {yoyo 102 22}