go十一:面向对象之封装
在GO中,封装叫做方法
1.方法的定义和使用
package main import "fmt" //1.定义函数类型 //2.为已存在的数据类型起别名 type Int int //方法: func (方法接收者)方法名(参数列表) 返回值类型 func (a Int)add(b Int) Int { return a + b } func main() { //根据数据类型绑定方法 var a Int = 10 value := a.add(20) fmt.Println(value) //30 }
使用结构体定义函数类型及起别名
package main import "fmt" //定义函数类型、并起别名 type st struct { name string age int } //定义第一个方法 func (s st)printInfo() { fmt.Println(s.name, s.age) } //定义第二个方法 func (s st)editInfo(name string, age int) { s.name = name s.age = age s.printInfo() //新名字 23 } //定义第三个方法---指针 func (s *st)edit(name string, age int) { s.name = name s.age = age } func main() { var s st=st{"sdf", 23} s.printInfo() //sdf 23 s.editInfo("新名字", 23) s.printInfo() //sdf 23 ---结构体是值传递 (&s).edit("新名字", 23) s.printInfo() //新名字 23 }
66-72
posted on 2018-03-30 21:35 myworldworld 阅读(64) 评论(0) 收藏 举报