java空接口_接口篇(五):空接口及其使用场景

本文探讨了Go语言中的空接口interface{}及其与Java中Object类的相似功能。Go的空接口可以指向任何类型,常用于声明函数的泛型参数、类型判断和转化。此外,还提到了struct{}空结构体在并发编程中的应用。
摘要由CSDN通过智能技术生成

接口篇(五):空接口及其使用场景

由 学院君 创建于1年前, 最后更新于 1年前

版本号 #1

4403 views

11 likes

0 collects

熟悉 Java 的同学应该都知道,在这个号称血统最纯正的面向对象编程语言中,「万事万物皆对象」,并且所有类都继承自祖宗类「Object」,所以 Object 类型变量可以指向任何类的实例。

Go 语言打破了传统面向对象编程中类与类之间继承的概念,而是通过组合实现方法和属性的重用,所以不存在类似的继承关系树,也就没有所谓的祖宗类,而且类与接口之间也不再通过 implements 关键字强制绑定实现关系,所以 Go 语言的面向对象编程非常灵活。我们知道,在 Go 语言中类型与接口的实现关系是通过类所实现的方法来在编译期推断出来的,如果我们定义一个空接口的话,那么显然所有的类型都实现了这个接口,然后我们就可以通过这个空接口来指向任意类型,从而实现类似 Java 中 Object 类所承担的功能,而且显然 Go 的空接口实现更加简洁,通过一个简单的 interface{} 字面量即可完成,并且可以声明基本类型,而同样的功能在 Java 中还要通过装箱转化才可以。

下面我们看一下 interface{} 空接口的使用示例。

我们可以将其指向基本类型:

var v1 interface{} = 1 // 将 int 类型赋值给 interface{}

var v2 interface{} = "学院君" // 将 string 类型赋值给 interface{}

var v3 interface{} = true // 将 bo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值