代码改变世界

45_类型断言之switch的使用

2019-09-22 00:08 by StevenZhao, 384 阅读, 0 推荐, 收藏, 编辑
摘要:package main import "fmt" type Elementer interface{} type Person struct { name string age int } func main() { var list []Elementer = make([]Elementer, 阅读全文

44_类型转换

2019-09-22 00:05 by StevenZhao, 112 阅读, 0 推荐, 收藏, 编辑
摘要:/* comma-ok断言: Go语言里面有一个语法,可以直接判断是否是该类型的变量: value, ok = element.(T), 这里value就是变量的值,ok是一个bool类型,element是interface变量, T是断言的类型 */ 阅读全文

43_空接口

2019-09-22 00:02 by StevenZhao, 137 阅读, 0 推荐, 收藏, 编辑
摘要:1.空接口(interface{})不包含任何的方法,正因为如此,所有的类型都实现了空接口,因此空接口可以存储任意类型的数值。 2.它有点类似于C语言的void *类型 阅读全文

42_接口之间的转换

2019-09-21 23:59 by StevenZhao, 243 阅读, 0 推荐, 收藏, 编辑
摘要://超集可以使用子集里面的方法,而子集不能调用超集里面的方法 //超集接口变量可以转换为子集接口类型,但是子集接口类型不可以转换为超集接口类型 代码如下: 阅读全文

41_接口的嵌入

2019-09-21 23:54 by StevenZhao, 156 阅读, 0 推荐, 收藏, 编辑
摘要:package main import "fmt" type Hummaner interface { sing() //声明一个方法,并没有实现 } type Studenter interface { Hummaner //匿名字段,嵌入字段 play() //声明一个方法,并没有实现 } ty 阅读全文

40_接口类型的使用

2019-09-21 23:48 by StevenZhao, 193 阅读, 0 推荐, 收藏, 编辑
摘要://接口类型是一种抽象类型,他不会暴露所代表的对象的内部直的结构和这个对象支持的基础操作的集合,它们只展示自己的方法.因此接口类型不能将其实例化 //接口类型描述了一些列的方法的集合 //接口类型名通常以"er"结尾 阅读全文

39_方法值和方法表达式

2019-09-21 23:36 by StevenZhao, 145 阅读, 0 推荐, 收藏, 编辑
摘要:package main import "fmt" type Person struct { //和变量定义不同,不要写var关键字 Id int Name string Sex byte } type Student struct { Person Hobby string } func (s P 阅读全文

38_方法的重写

2019-09-21 23:23 by StevenZhao, 96 阅读, 0 推荐, 收藏, 编辑
摘要:package main import "fmt" type Person struct { //和变量定义不同,不要写var关键字 Id int Name string Sex byte } type Student struct { Person Hobby string } //改变接收者类型 阅读全文

37_匿名字段方法的继承

2019-09-21 23:20 by StevenZhao, 125 阅读, 0 推荐, 收藏, 编辑
摘要:package main import "fmt" type Person struct { //和变量定义不同,不要写var关键字 Id int Name string Sex byte } type Student struct { Person Hobby string } func (s P 阅读全文

36_方法集的使用

2019-09-21 23:12 by StevenZhao, 292 阅读, 0 推荐, 收藏, 编辑
摘要:所谓方法集,就是go编译器,可以根据 传递的接收者(receiver)类型,自动转换成所需的类型 阅读全文