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

}

文档

相关推荐
TTGGGFF1 小时前
Supertonic 部署与使用全流程保姆级指南(附已部署镜像)
开发语言·python
木木木一1 小时前
Rust学习记录--C7 Package, Crate, Module
开发语言·学习·rust
love530love1 小时前
升级到 ComfyUI Desktop v0.7.0 版本后启动日志报 KeyError: ‘tensorrt‘ 错误解决方案
开发语言·windows·python·pycharm·virtualenv·comfyui·comfyui desktop
Evand J2 小时前
【MATLAB例程】【空地协同】UAV辅助的UGV协同定位,无人机辅助地面无人车定位,带滤波,附MATLAB代码下载链接
开发语言·matlab·无人机·无人车·uav·协同定位·ugv
chao1898442 小时前
基于MATLAB实现多变量高斯过程回归(GPR)
开发语言·matlab·回归
ytttr8737 小时前
隐马尔可夫模型(HMM)MATLAB实现范例
开发语言·算法·matlab
天远Date Lab7 小时前
Python实战:对接天远数据手机号码归属地API,实现精准用户分群与本地化运营
大数据·开发语言·python
listhi5207 小时前
基于Gabor纹理特征与K-means聚类的图像分割(Matlab实现)
开发语言·matlab
野生的码农7 小时前
码农的妇产科实习记录
android·java·人工智能
王正南8 小时前
kali-linux 虚拟机连接安卓模拟器
android·linux·运维·虚拟机连接模拟器·安卓模拟器,linux虚拟机