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

}

文档

相关推荐
再见晴天*_*16 小时前
SpringBoot 中单独一个类中运行main方法报错:找不到或无法加载主类
java·开发语言·intellij idea
lqjun082717 小时前
Qt程序单独运行报错问题
开发语言·qt
灿烂阳光g18 小时前
domain_auto_trans,source_domain,untrusted_app
android·linux
hdsoft_huge19 小时前
Java & Spring Boot常见异常全解析:原因、危害、处理与防范
java·开发语言·spring boot
风中的微尘19 小时前
39.网络流入门
开发语言·网络·c++·算法
低调小一19 小时前
Android传统开发 vs Android Compose vs HarmonyOS ArkUI 对照表
android·华为·harmonyos
雨白20 小时前
Java 多线程指南:从基础用法到线程安全
android·java
未来之窗软件服务20 小时前
幽冥大陆(二)RDIFSDK 接口文档:布草洗涤厂高效运营的技术桥梁C#—东方仙盟
开发语言·c#·rdif·仙盟创梦ide·东方仙盟
小冯记录编程20 小时前
C++指针陷阱:高效背后的致命危险
开发语言·c++·visual studio
1uther21 小时前
Unity核心概念⑨:Screen
开发语言·游戏·unity·c#·游戏引擎