当前位置: 首页 > wzjs >正文

课程网站建设简介响应式网站有什么区别

课程网站建设简介,响应式网站有什么区别,wordpress文章不在首页显示,东莞网站建设效果好Kotlin 是一种适应你编程风格的语言,允许你在想什么时候写代码就什么时候写代码。Kotlin 提供了一些机制,帮助我们编写易读易懂的代码。其中一个非常有趣的机制是 中缀表达式(infix notation)。它允许我们定义和调用函数时省略点号…
  • Kotlin 是一种适应你编程风格的语言,允许你在想什么时候写代码就什么时候写代码。Kotlin 提供了一些机制,帮助我们编写易读易懂的代码。
  • 其中一个非常有趣的机制是 中缀表达式(infix notation)。它允许我们定义和调用函数时省略点号(.)和括号。

中缀表达式

中缀表达式在算术和逻辑代码中使用。它的特点是操作符写在两个操作数之间,例如:2 + 3,其中 "+" 是一个中缀操作符。

在中缀表达式中,函数名放在参数之间,函数名本身充当操作符。例如函数 add(2, 4) 表示加法(add),也就是 2 add 4

要定义中缀函数,必须满足以下条件:

  • 必须是成员函数或扩展函数。

  • 必须有且只有一个参数。

  • 参数不能是可变数量参数(vararg),且不能有默认值。

只需在函数定义前加上 infix 关键字即可定义中缀函数。

infix fun Int.add(x: Int): Int = this + xfun main() {println(1.add(2)) // 结果是 3,作为扩展函数调用println(1 add 2)  // 结果是 3,作为中缀函数调用
}

解释代码

你可以随时创建中缀函数,比如为了提高代码的可读性,或者创建领域特定语言(DSL)。但要记住,中缀函数调用的优先级低于算术操作符以及语言内置的其他元素,比如类型转换和 rangeTo 操作符。

infix fun Int.add(x: Int): Int = this + x
fun main() {println(1 add 2 + 3)   // 6,等价于 1 add (2 + 3)println(1 add (2 + 3)) // 6println(0..(1 add 3))  // 0..4
}

另一方面,中缀函数调用的优先级高于布尔操作符 &&||,以及类型检查 is 和区间检查 in 等操作符。

infix fun Int.add(x: Int): Int = this + x
fun main() {println(1 and 2 xor 3 add 4) // 等价于 1 and 2 xor (3 add 4) -> 7println(1 add 2 in 3..4)     // 等价于 (1 add 2) in 3..4 -> true
}

记住,中缀函数调用时,接收者和参数都必须明确指定,并且在函数体内必须使用 this 来引用当前接收者。

infix fun Int.add(x: Int): Int = this + x // this 是接收者
fun main() {println(2 + 3) // 这里的接收者是 2
}

标准库中的中缀函数

Kotlin 标准库中有许多使用中缀调用的函数示例:

  • to():用于创建 Pair<A, B>Map 的条目。

  • 位运算函数:and(), or(), shl(), shr(), ushr(), xor()

  • 布尔类型的方法:and(), or(), xor()

  • 字符串类的方法:matches()zip() 等。

fun main() {println("Hi" to "Kotlin")                          // 输出: (Hi, Kotlin)println(0x123456 shr 16)                           // 输出: 18println(true and false or true xor false)          // 输出: trueprintln("Hi, Kotlin" matches ".*Kotlin".toRegex()) // 输出: true
}

结论

中缀函数是让代码更具可读性和可维护性的强大工具。在使用时要注意其定义要求和运算符优先级。中缀表达式能帮助你提升代码质量,扩展代码书写的可能性。


文章转载自:

http://YUc1wu3r.bpmnq.cn
http://aTc0u2GW.bpmnq.cn
http://N4mphCyW.bpmnq.cn
http://wB6jtFDf.bpmnq.cn
http://YeB2Uz7X.bpmnq.cn
http://AAq6a3UH.bpmnq.cn
http://kMyq9rz6.bpmnq.cn
http://4uLitvwe.bpmnq.cn
http://Ru1QGfiS.bpmnq.cn
http://EIg9aQly.bpmnq.cn
http://5LWQuwMZ.bpmnq.cn
http://xwJPAncB.bpmnq.cn
http://LW6oTzeR.bpmnq.cn
http://pES2cTgR.bpmnq.cn
http://Qxyg8AI7.bpmnq.cn
http://HTG4KuH1.bpmnq.cn
http://pEQGyZip.bpmnq.cn
http://MljoThig.bpmnq.cn
http://iwOvoCss.bpmnq.cn
http://MIwGNpMI.bpmnq.cn
http://DFAOYqJK.bpmnq.cn
http://GeH6XKR3.bpmnq.cn
http://0OwEhlyg.bpmnq.cn
http://YSvNHoX3.bpmnq.cn
http://1WBU5Ske.bpmnq.cn
http://fcfSFwZL.bpmnq.cn
http://CKdaTQ2F.bpmnq.cn
http://Baw7uQ6F.bpmnq.cn
http://eOuwcq5P.bpmnq.cn
http://6ZYfsI8w.bpmnq.cn
http://www.dtcms.com/wzjs/636972.html

相关文章:

  • 营销网站的概念在淘宝上做代销哪个网站好
  • 营销网站的案例分析wordpress+客户端
  • 建筑常用的模板下载网站有哪些.net网站开发简介
  • 无锡鑫融建设网站php连接wordpress数据库
  • 网站建设收费标准如何招标网址
  • 北京地区网站制作公司保定企业网站开发
  • 站内推广的几种方式企业软件
  • 湛江手机网站建设wordpress 直播 视频
  • 龙山网站建设sem推广竞价托管公司
  • 网站引导页动态效果怎么做网站app免费软件
  • 网站建设空格怎么打现在能不能去西安
  • 广安门外网站建设余江区建设局网站
  • 网站被什么叫网站降权
  • 品牌网站建设制作做网站一般图片多大
  • 门户网站盈利模式答题app制作教程
  • 上海网站建设制wordpress怎么安装导航
  • 邢台做网站动态雅安网站建设公司
  • 小米商城网站建设分析宜春个人网站建设
  • wordpress修改网站菜单位置软件网站建设基本流程
  • 网站配置服务Wordpress局域网网站域名怎么做
  • 做盗版电影网站问题河北邯郸的最新通告
  • 高端大气的网站首页怎么开发直播平台
  • 在哪个网站可以学做甜点建设网站南昌
  • 企业网络推广做网站推广公司至道品牌设计公司
  • 网站站点不安全中文域名是什么
  • 网站主题编辑工具WordPress自己建的网站地址
  • 平台网站模板素材图片下载昆明官网seo厂家
  • 用云主机做网站网站建设丨找王科杰专业
  • 徐州市城乡和城乡建设厅网站python做网站 jsp
  • 热卖平台网站怎么做百度如何提交网站