方法的使用,请看本天师的代码
//Golang的方法定义
//Golang中的方法是作用在特定类型的变量上,因此自定义类型,都可以有方法,不仅仅是struct
//定义:func (recevier type) methodName(参数列表)(返回值列表){}
//方法和函数的区别
/*
1,函数调用:function(variable,参数列表)
2, 方法,variable.function(参数列表)
方法的控制,通过大小写空格控制
*/
。。。。
package main //Golang的方法定义
//Golang中的方法是作用在特定类型的变量上,因此自定义类型,都可以有方法,不仅仅是struct
//定义:func (recevier type) methodName(参数列表)(返回值列表){}
import "fmt" type integer int func (p integer) print() {
fmt.Println("p is:", p)
}
//这里传递的是副本,想改变p的值,需要传递指针
func (p *integer) set(b integer) {
*p = b
} type Student struct {
Name string
Age int
Score int
sex int
} //这里需要接受指针 *Student(接收者),否则修改不了值
func (p *Student) init(name string, age int, score int) {
p.Name = name
p.Age = age
p.Score = score
fmt.Println(p)
}
func (p Student) get() Student {
return p
} func main() {
var stu Student
//修改地址的写法(&stu).init
//但是go可以自动知道,接受者是指针,这里stu就传递地址
stu.init("stu", , )
stu1 := stu.get()
fmt.Println(stu1) //type integer方法
var a integer
a =
a.print()
a.set()
a.print()
}