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

}

文档

相关推荐
草履虫建模3 小时前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
Rainman博5 小时前
WMS-窗口relayout&FinishDrawing
android
naruto_lnq5 小时前
分布式系统安全通信
开发语言·c++·算法
学嵌入式的小杨同学5 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
Re.不晚6 小时前
Java入门17——异常
java·开发语言
精彩极了吧6 小时前
C语言基本语法-自定义类型:结构体&联合体&枚举
c语言·开发语言·枚举·结构体·内存对齐·位段·联合
南极星10057 小时前
蓝桥杯JAVA--启蒙之路(十)class版本 模块
java·开发语言
baidu_247438617 小时前
Android ViewModel定时任务
android·开发语言·javascript
Dev7z7 小时前
基于 MATLAB 的铣削切削力建模与仿真
开发语言·matlab
不能隔夜的咖喱7 小时前
牛客网刷题(2)
java·开发语言·算法