首页 > 其他 > 详细

Go的空接口

时间:2018-10-06 00:55:33      阅读:182      评论:0      收藏:0      [点我收藏+]
空接口(interface{})不包含任何的方法,正因为如此,所有的类型都实现了空接口,因此空接口可以存储任意类型的数值。它有点类似于C语言的void *类型。 ????var v1 interface{} = 1 // 将int类型赋值给interface{} ????var v2 interface{} = "abc" // 将string类型赋值给interface{} ????var v3 interface{} = &v2 // 将*interface{}类型赋值给interface{} ????var v4 interface{} = struct{ X int }{1} ????var v5 interface{} = &struct{ X int }{1} 当函数可以接受任意的对象实例时,我们会将其声明为interface{},最典型的例子是标准库fmt中PrintXXX系列的函数,例如: ????func Printf(fmt string, args ...interface{}) ????func Println(args ...interface{})

Go的空接口

原文:http://blog.51cto.com/13914991/2294028

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!