网站备案要多久,网站开发支付宝,seo赚钱培训课程,品牌型网店接口#xff1a; 空接口类型#xff1a; 要实现一个接口#xff0c;就要实现该接口中的所有方法。因为空接口中没有方法#xff0c;所以自然所有类型都实现了空接口。那么就可以使用空接口类型变量去接受所有类型对象。 类比java#xff0c;有点像Object类型的概念#x… 接口 空接口类型 要实现一个接口就要实现该接口中的所有方法。因为空接口中没有方法所以自然所有类型都实现了空接口。那么就可以使用空接口类型变量去接受所有类型对象。 类比java有点像Object类型的概念所有类型都是Object类型的间接子类可以用Object类型变量去接收任意对象。 type A interface{} var obj1 A Cat{ string字符串} var obj2 123 fmt.Println() fmt.Println()方法的参数是 空接口类型的切片意思就是可以接收任意类型对象并且数量是一个或多个任意类型对象。 接口的实现和调用: 实现接口 要实现一个接口就要实现该接口中的所有方法。 自定义的Cat类型实现了test1() test2() test3()方法所以Cat类型实现了接口A接口B接口C。 调用接口 默认创建一个对象 var cat Cat Cat { }。 test1(),test2(),test3()方法都是Cat类型本身的自然可以调用。 如果用 A类型去接受cat对象也就是 Var catA A cat那么这个对象是A接口类型的实现类 只能调用A接口类型的方法。 类比java就是java的多态。声明一种类型叫生物这种生物行为是能叫喊现实对象有一只猫也能叫生物的实例对象可以是这只猫但是呢这个生物只能喵喵叫计算机只知道这个对象类型是生物计算机不知道它实际是个猫只把它当作生物类型处理的话自然只能执行生物所包含的方法。 类型断言 创建断言 1 obj judgeValue : 对象. ( 类型) 2) switch obj : 对象.(类型){ case 实际类型1: fmt.Print(obj) case 实际类型2: fmt.Print(obj) type关键字 创建结构体类型 type Class struct{ } 创建新类型 type Class2 Class 新类型Class2 的属性方法和Class一致,但是仍然是两种不同的类型. 创建类型别名 type Class2 Class 给Class类型起一个别名,两个名称都表示同一种类型,只是名字不一样. 创建函数类型 type myfunc func(string)(string);