Interface(接口类型)
一、简单介绍
Interface一般的使用都是结构体,何为结构体?即
(建议 接口命名首字母大写 规范写法)
二、不能多属性 也不能少属性
当某个变量定义了是Interface类型的,且是结构体的,该变量需要和定义Interface类型结构一致,不能多也不能少,否则会报错,如下:
三、重名重合
当你写了两个同名的Interface时,它不会是取后者,而是两者结合,如下:
四、任意Key
当我们不知道数据结构时,我们可以使用索引签名的方式来定义,这时候我们就可以根据索引的类型来自行增加属性,如下:我们就增加了sex、a、b这三个属性了,且这三个属性的键一定是字符串类型,但是值是任意类型。
五、?和readonly
当一个属性是可有可无的,我们可以使用 ? 来设置这个属性,如下:
这时候我们就发现,age这个属性就变成了非必要属性了。
当我们想要某个属性只能读取,不能修改时,可以给属性加 readonly , 如下:
这时候就会提示错误,因为name是只读的,不能修改。
六、接口继承
当我们想要的结构是两个接口所需类型时,可以使用接口继承,我们可以这两理解,原本A接口只有一个属性,B接口有一个属性,当A接口继承了B接口,那A接口就变成了有两个属性,如下:
因为Person继承了PersonB,所以a也要有age这个属性。
七、定义函数类型
定义一个返回类型是数字数组,参数是字符型的方法,可按如下写: