go语言面向对象
来源:互联网 发布:英国亚马逊海淘 知乎 编辑:程序博客网 时间:2024/04/30 00:09
go语言可通过struct声明新的类型
新建一个类型person
type Person struct { name string age int}var p1 Personp1.name = 'liming'p1.age = 18
新建一个类型student,可以通过匿名字段将person所有字段隐式引入student
type Student struct { Person //隐式引入 school string name string}s1 := Student{Person{'zhangliang',23}, 'hign school','new name'}s1.age //23 可直接访问Person的字段s1.name //new name 最外层优先访问,重载s1.Person.name //zhangliang 通过匿名字段访问
给函数添加接收者struct,或者说给struct添加方法
//此处传递是按值传递的,操作的是副本,若receiver为指针,则按引用传递,操作的是原实例对象func (s Student) isAdult() boolean { if s.age >= 18 { //可以直接访问struct的字段 return true } return false} s1.isAdult() //truefunc (s *Student) changeAge(newAge int) boolean { s.age = newAge }s1.changeAge(23)
方法的和字段的继承一样,都是通过匿名字段
type HignSchoolStudet { Student professional string}//可函数重载func (h *HignSchoolStudet) changeAge(newAge int) boolean { h.age = newAge + 12}h1 := HignSchoolStudet{Student{Person{'zhangliang',23}, 'hign school'},'math'}
interface接口,提供通用方法的组合,提供了动态类型
type People interface { changeAge()}var i Peoplei = s1s1.changeAge()i = h1h1.age
0 0
- go语言面向对象
- go语言 面向对象
- GO语言面向对象
- go语言的面向对象
- Go语言面向对象编程
- go语言中的面向对象
- Go语言学习 面向对象
- GO语言中的面向对象与接口
- Go语言与面向对象编程
- 神奇的go语言(面向对象)
- GO语言面向对象编程之方法
- 模仿go语言的C语言面向对象范式
- 许式伟《Go语言编程》样章“面向对象编程”
- Go语言学习笔记--类型、指针、面向对象
- 许式伟《Go语言编程》样章“面向对象编程”
- Go语言中的复合类型及面向对象思想
- Go语言学习(十一)面向对象编程-类型系统
- Go语言学习(十二)面向对象编程-结构体
- 同一个电脑连接多个github账户的问题
- 读书笔记(13) 综合技术
- SDUT 3467 图的基本存储的基本方式四
- php基础知识
- 2016-05-10Android四大组件之Service
- go语言面向对象
- Stéroïdes: pourquoi il ne faut pas en abuser?
- mac的终端中直接调起sublime
- C++上机实验5-数组分离
- C++第5次作业
- 【HUSTOJ】1100: 那些三位数
- mvn package 出错 pom.xml and web.xml configuration
- C++作业5
- 【Matlab】图像插值函数interp2理解