美文网首页
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