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

}

文档

相关推荐
Filotimo_21 小时前
EntityGraph的概念
java·开发语言·数据库·oracle
wregjru21 小时前
【读书笔记】Effective C++ 条款1~2 核心编程准则
java·开发语言·c++
lingran__21 小时前
C语言自定义类型详解 (1.1w字版)
c语言·开发语言
村口曹大爷1 天前
JDK 24 正式发布:性能压轴,为下一代 LTS 铺平道路
java·开发语言
sunnyday04261 天前
Spring Boot 项目中使用 Dynamic Datasource 实现多数据源管理
android·spring boot·后端
ysdysyn1 天前
C# Modbus RTU 多从站控制全攻略:一端口,双轴控制
开发语言·c#·mvvm·通讯·modbus rtu
hashiqimiya1 天前
java程序的并发
java·开发语言·python
微露清风1 天前
系统性学习C++进阶-第十四讲-二叉搜索树
开发语言·c++·学习
董世昌411 天前
强制类型转换和隐式类型转换的区别
开发语言
Fruiticecake1 天前
Markdown,不用鼠标也能做笔记!
开发语言