Golang 方法的声明
func (recevier type) methodName (参数列表)(返回值列表){
方法体
return 返回值//不是必须的
}
//recevier type 表示方法 methodName 和 type 这个类型进行绑定
注意:
- 如果修改结构体变量的值,可以通过结构体指针的方式来处理
- 自定义的类型都可以绑定方法,而不仅仅是struct,int、float64等都可以绑定方法
- 方法的访问范围的规则和函数一样的,方法名小写只能在本包内使用,方法名大写可以在本包和其它包访问
方法和函数的区别:
- 调用方式不一样
函数调用方式:函数名(实参列表)
方法调用方式:变量.方法名(实参列表) - 函数的参数类型必须是一致的,但是方法的入参是不固定的,比如
//地址拷贝 func (t *Student)speak(){ } t := Student{"carver"} (&t).speak()//等价于 t.speak() ,t.speak() 形式上是值传递,其实本质是地址拷贝 //值拷贝 func (t Student)eat(){ } t := Student{"carver"} t.eat()//等价于 (&t).eat() ,(&t).eat() 形式上是地址传递,其实本质是值拷贝
本文来自博客园,作者:Carver大脸猫,转载请注明原文链接:https://www.cnblogs.com/carver/articles/18449941

浙公网安备 33010602011771号