Kotlin教程学习-操作符,操作符重载
2015-06-16 00:00
267 查看
摘要: Kotlin是一种优雅的语言,是JetBrains公司开发的JVM语言,与Java有着极密切的联系,Kotlin有着怎样的魅力呢?
Kotlin操作符的使用方法与其他语言差不多,最大的特点就在于infix function call(事实上infix function call并不是操作符的特性,而是函数的特性)和操作符重载.
可以看到在Kotlin中大部分的操作符都与一个函数相对应,之所以这样做,大概是为了进行操作符重载.
Kotlin官方文档中强调"=赋值"操作在Kotlin中不是操作符,换句话说类似于x = y = z这样的连续赋值并不被允许(甚至赋值操作也不能和常规的表达式混合写).
我们知道在C++语言里面操作符就是一个函数,在Kotlin中也是如此.
至于infix function call,目前来看,如果在类中定义了只包含一个参数的函数,比如Int.plus(Int)函数是在Int类中定义,而且只有一个参数,那么这样的函数就可以简写.val x = 1.plus(1)可以简写为val x = 1 plus 1
上面的代码运行结果如下:
至于操作符重载,如下:
运行结果如下:
操作符重载并不能增加新的操作符,也不能改变操作符的优先级和结合性.
操作符的结合性(左结合,右结合)与Java相同,然而操作符的优先级官方文档并未给出,目前来看和Java并不完全相同,这主要是因为Kotlin中操作符和Java中性质并不完全相同.
Kotlin操作符的使用方法与其他语言差不多,最大的特点就在于infix function call(事实上infix function call并不是操作符的特性,而是函数的特性)和操作符重载.
可以看到在Kotlin中大部分的操作符都与一个函数相对应,之所以这样做,大概是为了进行操作符重载.
Kotlin官方文档中强调"=赋值"操作在Kotlin中不是操作符,换句话说类似于x = y = z这样的连续赋值并不被允许(甚至赋值操作也不能和常规的表达式混合写).
我们知道在C++语言里面操作符就是一个函数,在Kotlin中也是如此.
至于infix function call,目前来看,如果在类中定义了只包含一个参数的函数,比如Int.plus(Int)函数是在Int类中定义,而且只有一个参数,那么这样的函数就可以简写.val x = 1.plus(1)可以简写为val x = 1 plus 1
上面的代码运行结果如下:
至于操作符重载,如下:
运行结果如下:
操作符重载并不能增加新的操作符,也不能改变操作符的优先级和结合性.
操作符的结合性(左结合,右结合)与Java相同,然而操作符的优先级官方文档并未给出,目前来看和Java并不完全相同,这主要是因为Kotlin中操作符和Java中性质并不完全相同.
相关文章推荐
- 学习 Linux 是我们的爱情语言
- Extjs4.0 最新最全视频教程
- OpenERP 的XML-RPC的实例+many2many,one2many,many2one...
- CSS3属性教程与案例分享
- jquery教程靠边站,一分钱不花让你免费学会jquery
- 基础命令学习总结
- autoit入门教程小结第1/5页
- 用Photoshop 制作草地效果简明教程
- 比较完整简洁的Flash处理XML文档数据教程 上篇第1/3页
- Prototype 学习 工具函数学习($方法)
- VBS基础编程教程 (第1篇)
- SQLite教程(十一):临时文件
- VBS基础编程教程 (第3篇)
- VBS教程:运算符-运算符(+)
- PostgreSQL教程(十):性能提升技巧
- PostgreSQL教程(二):模式Schema详解
- PostgreSQL教程(十三):数据库管理详解
- PostgreSQL教程(八):索引详解
- PostgreSQL教程(三):表的继承和分区表详解
- XML简易教程之三