4.5 go 结构体添加方法

package main

import "fmt"

/**
  func(receiver ReceiverType) funcName(parameters)(result){}
  recever 可以任意命名,如果未使用可以省略
  ReceiverType  可以是T *T 但是基类T不能是接口或者指针
  不支持方法的重载
  相当于java 类添加方法


**/

type Persion struct {
	name string
	age  int
}

func (tem Persion) PrintInfo() {
	fmt.Println("p=", tem)
}

//结构体指针修改值
func (tem *Persion) SetntInfo(n string, a int) {
	tem.name = n
	tem.age = a

}

//
func main() {
	pp := Persion{"mm", 12}
	pp.PrintInfo()
	//普通变量可以调用指针变量 相互之间会自动转换
	pp.SetntInfo("huahua", 2222)
	pp.PrintInfo()

}
发布了124 篇原创文章 · 获赞 94 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/h4241778/article/details/105317961
4.5