当前位置:网站首页>【愚公系列】2022年08月 Go教学课程 035-接口和继承和转换与空接口
【愚公系列】2022年08月 Go教学课程 035-接口和继承和转换与空接口
2022-08-11 03:14:00 【愚公搬代码】
文章目录
一、接口和继承和转换
package main
import "fmt"
type Humaner interface {
SayHello()
}
type Personer interface {
Humaner
Say()
}
type Student struct {
}
func (s *Student) SayHello() {
fmt.Println("大家好")
}
func (s *Student) Say() {
fmt.Println("你好")
}
func main() {
var stu Student
var per Personer
per = &stu
per.Say()
per.SayHello() // 可以调用所继承的接口中的方法。
var h Humaner
h = per
// per=h
h.SayHello()
}
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
接口继承是出自设计模式中的一个概念。接口继承,又称子类型化。描述了一个对象什么时候能够被用来替代另一个对象。接口是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。接口可以多继承接口因为接口只定义行为并不包含类别的含义不指代具体的某类事物,
二、空接口
空接口(interface{})不包含任何的方法,正因为如此,所有的类型都实现了空接口,因此空接口可以存储任意类型的数值。
package main
import "fmt"
func main() {
var i interface{
}
i = 123
i = "abc"
fmt.Println(i)
var s []interface{
}
s = append(s, 123, "abc", 12.3)
for j := 0; j < len(s); j++ {
fmt.Println(s[j])
}
}
边栏推荐
- 广州纸质发票再见!开住宿费电子发票即将全面取代酒店餐饮加油站发票
- The problem that Merge will be lost again after code Revert has been solved
- CC0 vs. commercial IP: which model is better for NFTs?
- IDE compilation error: Dangling metacharacter
- 夫妻一方婚内向异性大额转款,怎么判
- Traversal of DOM tree-----modify styles, select elements, create and delete nodes
- 一次简单的 JVM 调优,学会拿去写到简历里
- [BX] and loop
- oracle的基数会影响到查询速度吗?
- 怎么删除语句审计日志?
猜你喜欢
《人生若如初见》命运多舛,人物饱满,朱亚文角色反差太惊喜
Logstash日志数据写入异常排查问题总结
flink The object probably contains or references non serializable fields.
基于FPGA状态机的自动售货机功能实现
[BX] and loop
音视频开发,为什么要学习FFmpeg?应该怎么入手FFmpeg学习?
UNI-APP_iphone苹果手机底部安全区域
A Practical Arrangement of Map GIS Development Matters (Part 1)
ES进阶 函数功能语法新特性详解
DOM树的遍历-----修改样式,选择元素,创建和删除节点
随机推荐
①CAS SSO单点登录框架源码深度分析
A practice arrangement about map GIS (below) GIS practice of Redis
Ninjutsu_v3_08_2020 - safety penetrating system installation
VIT 源码详解
获取链表长度
OpenCV founder: Open source must not be completely free!
一次简单的 JVM 调优,学会拿去写到简历里
LeetCode热题(12.买卖股票的最佳时机)
What does the sanction of the mixer Tornado mean for the DeFi market?
(Nips-2015) Spatial Transformer Network
MSP430如何给板子下载程序?(IAR MSPFET CCS)
leetcode:358. K 距离间隔重排字符串
代码 Revert 后再次 Merge 会丢失的问题,已解决
Detailed explanation of new features of ES advanced function syntax
浮点数在内存中的存储方式
大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,如何分配?
按摩椅控制板的开发让按摩椅变得简约智能
最倒霉与最幸运
字体反扒
CSDN 博客更换皮肤