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

黑别人网站网站建设九步走

黑别人网站,网站建设九步走,济宁定制网站建设推广,哈尔滨企业建网站推广if 表达式 if 是一个表达式#xff0c;它会返回一个值。 不存在三元运算符#xff08;condition ? then : else#xff09;#xff0c;因为 if 在这种场景下完全可以胜任。 var max aif (a b) max bif (a b) {max a } else {max b }max if (a b) a…if 表达式 if 是一个表达式它会返回一个值。 不存在三元运算符condition ? then : else因为 if 在这种场景下完全可以胜任。 var max aif (a b) max bif (a b) {max a } else {max b }max if (a b) a else bval maxLimit 1val maxOrLimit if (maxLimit a) maxLimit else if (a b) a else bif 表达式的分支可以是代码块。在这种情况下代码块中的最后一个表达式就是该代码块的值。 val max if (a b) {print(Choose a)a } else {print(Choose b)b }如果使用 if 作为表达式例如用于返回它的值或将它赋值给一个变量那么 else 分支是必需的。 when 表达式和语句 when 是一种基于多个可能的值或条件运行代码的条件表达式。它类似于 Java、C 等语言中的 switch 语句。 val x 2when (x) {1 - print(x 1)2 - print(x 2)else - print(x is neither 1 nor 2) }when 会依次将它的参数与所有分支的条件进行匹配直到某个分支的条件被满足为止。 你可以以几种不同的方式使用 when。首先你可以将 when 用作表达式或语句。作为表达式when 会返回一个值供你在代码中后续使用。作为语句when 用于完成某个操作而不会返回任何进一步使用的值。 // 表达式。 // 返回一个字符串该字符串被赋值给变量 text。 val text when (x) {1 - x 12 - x 2else - x is neither 1 nor 2 }// 语句。 // 不返回任何值但会触发一个打印语句。 when (x) {1 - print(x 1)2 - print(x 2)else - print(x is neither 1 nor 2) }可以使用带有或不带有对象的 when。无论是否在 when 中使用对象表达式或语句的行为都是相同的。我们建议在可能的情况下使用带有对象的 when因为它清晰地展示你在检查什么使你的代码更易于阅读和维护。 // 带对象。 when (x) { ... }// 不带对象。 when { ... }根据你如何使用 when对于是否需要在分支中覆盖所有可能的情况有不同的要求。 如果你将 when 用作语句你不需要覆盖所有可能的情况。在下面的例子中并没有覆盖所有情况因此当不匹配任何分支时不会发生任何事情。但也不会出现错误 val x 3 when (x) {// 并未覆盖所有情况。1 - print(x 1)2 - print(x 2) }在 when 语句中各个分支的值会被忽略。就像 if 一样每个分支可以是一个代码块而代码块的值是块中最后一个表达式的值。 如果你将 when 用作表达式那么你必须覆盖所有可能的情况也就是说它必须是穷尽的。第一个匹配分支的值将成为整个表达式的值。如果你没有覆盖所有情况编译器会报错。 如果你的 when 表达式有一个对象你可以使用 else 分支来确保覆盖所有可能的情况但这并不是强制性的。例如如果对象是一个布尔类型、枚举类、密封类或者它们的可空类型那么你可以不使用 else 分支来覆盖所有情况。例如 enum class Bit {ZERO, ONE }val numericValue when (getRandomBit()) {// 不需要 else 分支因为所有可能的情况都已经被覆盖了。Bit.ZERO - 0Bit.ONE - 1 }如果你的 when 表达式没有对象那么你必须有一个 else 分支否则编译器会报错。当没有其他分支条件被满足时else 分支会被执行。例如 val number 5val result when {number 0 - Positivenumber 0 - Negative// 必须有 else 分支因为没有对象。else - Zero }when 表达式和语句提供了多种方法来简化代码、处理多个条件以及执行类型检查。 你可以通过在单行中用逗号分隔多个条件为多个案例定义共同的行为。例如 val x 2when (x) {1, 2, 3 - println(x is 1, 2, or 3)4, 5, 6 - println(x is 4, 5, or 6)else - println(x is not in the range 1 to 6) }你可以使用任意表达式不仅仅是常量作为分支条件。例如 val x 5 val y 10when (x) {y - println(x is equal to y)y 5 - println(x is equal to y 5)y - 5 - println(x is equal to y - 5)else - println(x is not equal to y, y 5, or y - 5) }在这个例子中y、y 5 和 y - 5 都是作为分支条件的表达式。when 会根据 x 的值与这些表达式的结果进行比较从而选择对应的分支。这种方式使得 when 的条件更加灵活可以用于更复杂的逻辑判断。 你还可以通过 in 或 !in 关键字来检查一个值是否包含在某个范围或集合中 when (x) {in 1 .. 10 - print(x is in the range)in validNumbers - print(x is valid)!in 10 .. 20 - print(x is outside the range)else - print(none of the above) }此外你可以通过 is 或 !is 关键字来检查一个值是否是某种特定类型。由于智能类型转换你可以直接访问该类型的成员函数和属性而无需额外的检查。 fun hasPrefix(x: Any) when(x) {is String - x.startsWith(prefix)else - false }你可以将 when 用作 if-else if 链的替代品。如果没有对象分支条件就是布尔表达式。第一个条件为 true 的分支会被执行 when {x.isOdd() - print(x is odd)y.isEven() - print(y is even)else - print(x y is odd) }你可以通过以下语法在变量中捕获对象 fun Request.getBody() when (val response executeRequest()) {is Success - response.bodyis HttpError - throw HttpException(response.status)}在 when 表达式或语句的主体中引入的变量的作用域仅限于该 when 表达式或语句的内部。 when 表达式中的守护条件 守护条件是一个实验性功能可能会随时发生变化。 守护条件允许你在 when 表达式的分支中包含多个条件从而使复杂的控制流程更加明确和简洁。你可以在带有对象的 when 表达式或语句中使用守护条件。 要在分支中包含守护条件请将其放在主条件之后并用 if 分隔。 sealed interface Animal {data class Cat(val mouseHunter: Boolean) : Animaldata class Dog(val breed: String) : Animal }fun feedAnimal(animal: Animal) {when (animal) {is Animal.Dog - feedDog()is Animal.Cat if !animal.mouseHunter - feedCat()else - println(Unknown animal)} }在一个 when 表达式中你可以同时使用带有守护条件和没有守护条件的分支。带有守护条件的分支中的代码只有在主条件和守护条件都为 true 时才会执行。如果主条件不满足守护条件不会被评估。 如果你在没有 else 分支的 when 语句中使用守护条件并且没有任何条件匹配那么没有任何分支会被执行。 否则如果你在没有 else 分支的 when 表达式中使用守护条件编译器会要求你声明所有可能的情况以避免运行时错误。 此外守护条件还支持 else if 的功能。 when (animal) {// 检查 animal 是否是 Dog。is Animal.Dog - feedDog()// 检查 animal 是否是 Cat 并且不是 mouseHunter。is Animal.Cat if !animal.mouseHunter - feedCat()// 如果前面的条件都不匹配并且 animal.eatsPlants 为 true则此。else if animal.eatsPlants - giveLettuce()// 如果前面的条件都不匹配则此。else - println(Unknown animal) }你可以在一个分支中通过使用布尔运算符 或 || 组合多个守护条件。为了避免混淆请使用括号将布尔表达式括起来。 when (animal) {is Animal.Cat if (!animal.mouseHunter animal.hungry) - feedCat() }你可以在任何带有对象的 when 表达式或语句中使用守护条件但有一个例外当你的条件是通过逗号分隔的多个值时例如 0, 1 - print(x 0 or x 1)这种情况下不能使用守护条件。 要在命令行界面中启用守护条件运行以下命令 kotlinc -Xwhen-guards main.kt要在 Gradle 中启用守护条件将以下代码添加到 build.gradle.kts 文件中 kotlin {compilerOptions {freeCompilerArgs.add(-Xwhen-guards)} }
http://www.hkea.cn/news/14543906/

相关文章:

  • 老域名网站不收录如何建设网站济南兴田德润团队怎么样
  • 免费行情软件app网站红色组织建设六个方面内容
  • 网站主题咋做上海市闵行区
  • 帝国小说网站模板网站定制那个好
  • 在线甜品网站开发书织梦制作html 网站地图
  • 背景全屏网站中国发达国家还有多远
  • 无为网站定制搭建网站要哪些知识
  • 淄博网站建设优化公司万网 网站 流程
  • 网站制作多久做网站 给图片加链接
  • 心理咨询网站建设论文网站备案 新闻审批号
  • 成都网站建设需要多少钱jquery制作简单的网页
  • 青岛设计网站的公司北京城建亚泰建设集团有限公司网站
  • 汝城网站建设制作动画的网站
  • html购物网站模板怎么做公司网站竞价
  • 汕头建站培训网站怎么做流量统计
  • 晋江网站建设报价公司介绍怎么写范本
  • 推荐家居企业网站建设自建冷库费用
  • 网站优化招聘福州
  • 整站优化价格附近网站建设公司哪家好
  • 有网站了怎么做app代理ip平台
  • AAP网站开发需要多少钱关键词优化费用
  • 郑州建站网看板娘wordpress怎么带声音
  • 做艺术教育类网站如何申请alexa排名软件
  • 微网站建设包括哪些方面网页视频下载app软件
  • 浙江平安建设网站哪家做公司网站
  • 网站建设方法:北京牛鼻子网站建设公司
  • 广州旅游团购网站建设浙江建设人才网官网
  • 做外贸的人经常逛的网站网站后台登陆密码忘记了
  • seo网站描述服务器维护中是什么意思
  • 外贸英文网站制作广州网站优化系统