文档章节

Kotlin教程学习-操作符,操作符重载

天命剑主
 天命剑主
发布于 2015/06/16 14:29
字数 435
阅读 351
收藏 1
点赞 3
评论 0

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中性质并不完全相同.


© 著作权归作者所有

共有 人打赏支持
天命剑主
粉丝 39
博文 16
码字总数 9621
作品 0
武汉
程序员
Kotlin语言中的那些冷门知识点

这些知识点可能你很少用,但在某些特殊场景中却很有用。今天,就让我们一起来盘点一下那些被我们忽略了的冷门知识点。Let's started... 别名 有时候一个变量或表达式太长,你希望用一个更短的...

欧阳锋
05/04
0
0
快速上手Kotlin

今天是新年上班的第一个周末,很多春节的想法想用文字表达出来,却总是感觉词穷墨尽,无法用语言准备地表达我的想法。我想,大约是迷失了太久,连温情的文字都抛弃了我。新的一年,我会用100...

欧阳锋
2017/02/12
0
0
Java 已老,Kotlin 或将取而代之!

点击上方“CSDN”,选择“置顶公众号” 关键时刻,第一时间送达! Java已经成为历史。它无法发展成现代语言,同时保证向后兼容性。但它为我们带来了最好的JVM生态系统,并引导了许多优秀语言...

CSDN
05/12
0
0
Kotlin学习(十七): 运算符重载

日本编程丛书-图片源于网络 在前面写了关于集合和范围的内容,里面包括了一点运算符重载的内容,在这里我们来详细了解运算符重载的知识,内容参考《Kotlin实战》(Kotlin in Action)。 什么...

叫我旺仔
2017/11/19
0
0
Kotlin学习(十六): 关键字与操作符(Keywords and Operators)

图片来源于网络 本文同步更新于旺仔的个人博客,访问可能有点慢,多刷新几次。 Kotlin中有一些常用的关键字和标识符,同时还有一些操作符和特殊符号,这些都是和Java有不一样的地方的,这里将...

叫我旺仔
2017/11/03
0
0
Kotlin 基本数据类型(三)

Kotlin 基本数据类型(三) 上一次大家学会了创建你的第一个Kotlin应用 Kotlin 快速创建您的第一个应用(二) Kotlin 基本数据类型: Kotlin 的基本数值类型包括 Byte、Short、Int、Long、F...

Diosamolee
01/01
0
0
31 天,从浅到深轻松学习 Kotlin

这篇文章介绍开发者用 31 天学习 Kotlin 的心得,深入浅出地介绍了 Kotlin 的一些基本特性以及高级用法,对处于不同阶段的 Kotlin 开发者来说,在提高开发效率和了解 Kotlin 提供一些参考,希...

Android_开发者
05/30
0
0
Kotlin 快速入门

前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程语言 用于现代多平台应用 100%可与Java™和Android™互操作,它是[JetBrains]开发的基于JVM的语言 ...

橘之缘之空
2017/09/17
0
0
Kotlin学习笔记(一) 关键字

关键字 说明 abstract 抽象声明,被标注对象默认是open annotation 注解声明 by 类委托、属性委托 class 声明类 companion 伴生对象声明 const 声明编译期常量 constructor 声明构造函数 cr...

JackyRiver
05/30
0
0
2018最新Kotlin基础视频教程终于上线了~

本篇文章已经在微信公众号【欧阳锋工作室】完成首发 从5月份开始制作这个视频,历时两个多月,终于在网易云课堂与大家见面了... 视频特色 在前期课程中,使用普通编辑器进行编码,治疗你的I...

欧阳锋
07/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
今天
2
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
今天
1
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
今天
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
2
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
1
0
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0
HFS

FS,它是一种上传文件的软件。 专为个人用户所设计的 HTTP 档案系统 - Http File Server,如果您觉得架设 FTP Server 太麻烦,那么这个软件可以提供您更方便的档案传输系统,下载后无须安装,...

garkey
今天
1
0
Java IO类库之BufferedInputStream

一、BufferedInputStream介绍 /** * A <code>BufferedInputStream</code> adds * functionality to another input stream-namely, * the ability to buffer the input and to * sup......

老韭菜
今天
0
0
STM 32 窗口看门狗

http://bbs.elecfans.com/jishu_805708_1_1.html https://blog.csdn.net/a1985831055/article/details/77404131...

whoisliang
昨天
1
0
Dubbo解析(六)-服务调用

当dubbo消费方和提供方都发布和引用完成后,第四步就是消费方调用提供方。 还是以dubbo的DemoService举例 -- 提供方<dubbo:application name="demo-provider"/><dubbo:registry address="z...

青离
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部