美文网首页
Infix 函数构建更可读的语法

Infix 函数构建更可读的语法

作者: Sarah_love | 来源:发表于2020-04-30 12:43 被阅读0次

1. A to B 这样的语法结构构建键值对.  

to 并不是关键字, 之所以我们能用A to B这样的语法, 添加键值对, 是因为kotlin中使用了高级语法糖: Infix函数.

A to B, 的实际写法是: A.to(B)

2. infix fun String.beginsWith(prefix: String) =startsWith(prefix)

除去前面的infix 不说, 这是一个String类的扩展函数.

但是加上infix 关键字之后, 它就是一个infix函数了.

旧用法 if("hello kotlin".startsWith("hello")) { return true}

新用法, if("hello kotlin" startsWith "hello") { return true}

3. infix 函数允许我们将函数调用时的小数点, 括号等计算机相关的语法去掉. 从而使用一种更接近英语的语法来编写程序, 让代码看起来更加具有可读性.

4. Infix 函数有两个限制: (1) 不能是顶层函数, 只能是某个类的成员函数, 可以使用扩展函数的方式 将它定义到某个类当中. 

(2) Infix 只能接收一个参数, 参数类型没有限制. 

5. A to B 的源码

infix fun <A, B>  A.with(that: B):  Pair<A, B> = Pair(this, that)

val map = mapOf("apple" with 1 , "banana" with 2)

相关文章

网友评论

      本文标题:Infix 函数构建更可读的语法

      本文链接:https://www.haomeiwen.com/subject/mokswhtx.html