Kotlin 中缀函数(infix)

使用 infix 修饰的函数,叫 中缀函数 。可 省去 .(), 直接 通过 名 调用。

比如,10 shl 2 位左移操作shl就是 中缀函数,等同于 10.shl(2)

声明格式

kotlin 复制代码
infix fun methodName(argName: String)

即:类成员函数 或 扩展函数,增加 infix 修饰即可。

中缀函数 声明要求:
  1. 函数 必须是类型的 成员函数扩展函数
  2. 有且仅有 一个参数
  3. 函数参数 不能是 可变长参数(vararg),也不能有 默认值。
Int 位操作源码

查看 Int 位操作 相关函数源码,可知 都是 中缀函数:

kotlin 复制代码
public class Int private constructor() : Number(), Comparable<Int> {

    public infix fun shl(bitCount: Int): Int

    public infix fun shr(bitCount: Int): Int

}

文档

相关推荐
肉肉不吃 肉1 分钟前
ES6 模块化 与 CommonJS 的核心概念解析
开发语言·javascript·es6
明月醉窗台9 分钟前
Qt 入门 6 之布局管理
c语言·开发语言·c++·qt
顾林海13 分钟前
深入探究 Android Native 代码的崩溃捕获机制
android·面试·性能优化
碎梦归途13 分钟前
23种设计模式-结构型模式之适配器模式(Java版本)
java·开发语言·jvm·单例模式·设计模式·适配器模式
云小逸25 分钟前
【C++】继承
开发语言·c++
风静雪冷33 分钟前
Ubuntu中选择Python虚拟环境
开发语言·python
爱分享的程序员42 分钟前
前端跨端框架的开发以及IOS和安卓的开发流程和打包上架的详细流程
android·前端·ios
thigh_d1 小时前
uniapp 安卓离线本地打包,Android Studio生成apk包
android·uni-app·android studio
努力学习的小廉1 小时前
【C++】 —— 笔试刷题day_21
开发语言·c++·算法
kadog1 小时前
《Python3网络爬虫开发实战(第二版)》配套案例 spa6
开发语言·javascript·爬虫·python