当前位置:   article > 正文

空接口 interface{ }_export interface 可以为空

export interface 可以为空

空interface(interface{})不包含任何的method,正因为如此,所有的类型都实现了空interface

空interface对于描述起不到任何的作用(因为它不包含任何的method),但是空interface在我们需要存储任意类型的数值的时候相当有用,因为它可以存储任意类型的数值

有点类似于C语言的void*类型。

 

  1. // 定义 a 为空接口
  2. var a interface{}
  3. var i int = 5
  4. s := "Hello world"
  5. // a 可以存储任意类型的数值
  6. a = i
  7. a = s


一个函数把interface{}作为参数,那么他可以接受任意类型的值作为参数,如果一个函数返回interface{},那么也就可以返回任意类型的值。是不是很有用啊!

 

例如,用于XML处理文本,解析XML文件的一个函数:

func Unmarshal(data []byte, v interface{}) error

data:xml数据流,

v:存储的对应类型

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/413103
推荐阅读
相关标签
  

闽ICP备14008679号