美文网首页Kotlin
Kotlin Infix函数的使用方法

Kotlin Infix函数的使用方法

作者: 假装在去天使之城的路上 | 来源:发表于2018-08-17 18:46 被阅读13次

假设你有一副扑克牌,你是这样定义的

//花形
enum class Suit {
  HEARTS,
  SPADES,
  CLUBS,
  DIAMONDS
}

//数字
enum class Rank {
  TWO, THREE, FOUR, FIVE,
  SIX, SEVEN, EIGHT, NINE,
  TEN, JACK, QUEEN, KING, ACE 
}
data class Card(val rank: Rank, val suit: Suit)

你可以这样生成一张牌:

val card = Card(Rank.QUEEN, Suit.HEARTS)

如果你想把两个属性链接起来:

enum class Rank {
  TWO, THREE, FOUR, FIVE,
  SIX, SEVEN, EIGHT, NINE,
  TEN, JACK, QUEEN, KING, ACE;
  fun of(suit: Suit) = Card(this, suit)
}

你可以这样生成一张牌:

val card = Rank.QUEEN.of(Suit.HEARTS)

但是,如果你用了infix的话:

enum class Rank {
  TWO, THREE, FOUR, FIVE,
  SIX, SEVEN, EIGHT, NINE,
  TEN, JACK, QUEEN, KING, ACE;
 
  infix fun of(suit: Suit) = Card(this, suit)
}

你可以这样生成一张牌:

val card = QUEEN of HEARTS

代码出自:
https://medium.com/makingtuenti/infix-functions-in-kotlin-2db3d3142dd2

相关文章

  • kotlin - 中辍函数

    在 Kotlin 中自定义一个 infix 中辍函数 使用方法: 中辍函数跟扩展函数有什么区别了? 扩展方法,其实...

  • Kotlin 学习笔记(一)infix函数

    什么是 infix 函数 Kotlin允许在不使用括号和点号的情况下调用函数,那么这种函数被称为 infix函数。...

  • Kotlin Infix函数的使用方法

    假设你有一副扑克牌,你是这样定义的 你可以这样生成一张牌: 如果你想把两个属性链接起来: 你可以这样生成一张牌: ...

  • kotlin infix函数

    说明 kotlin 我们平常初始化map集合时,就会用到to关键词,里面涉及到infix函数 根据上面写法,我们自...

  • Kotlin for android学习九:函数与lambda表

    前言 kotlin官网和kotlin教程学习教程的笔记。 一、函数使用 1.中缀标记法(infix notatio...

  • 三篇文章带你快速入门 Kotlin(下)

    三篇文章带你快速入门 Kotlin(下) infix函数 我们前面介绍mapOf函数,A to B 这样的语法结构...

  • Kotlin 函数2 - 中缀函数

    Kotlin 函数2 - 中缀函数 如果一个函数只有一个参数,且用 infix 修饰,那么这个函数就是中缀函数 提...

  • Kotlin学习 7 -- infix函数

    本篇文章主要介绍以下几个知识点:使用 infix 函数构建更可读的语法内容参考自第一行代码第3版 在前面的学习中,...

  • Infix:from the office web of Kot

    The use of infix:from the office web of Kotlin

  • Idioms

    kotlin习惯用法 创建POJO 函数默认值 lambda表达式 遍历map infix 函数 然后就可以通过类...

网友评论

    本文标题:Kotlin Infix函数的使用方法

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