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

怎么在手机上制作网站云服务器做网站新手教程

怎么在手机上制作网站,云服务器做网站新手教程,怎么将网站做成小程序,忘记wordpress登录密码忘记枚举 声明只有值的枚举 enum class Color {RED, GREEN, BLUE }此外还可以增加属性和方法,如果需要在枚举类中定义方法,要使用分号把枚举常量列表和方法定义分开,这也是Kotlin唯一必须使用分号的地方 enum class Color(val r: Int, val g: …

枚举

声明只有值的枚举

enum class Color {RED, GREEN, BLUE
}

此外还可以增加属性和方法,如果需要在枚举类中定义方法,要使用分号把枚举常量列表和方法定义分开,这也是Kotlin唯一必须使用分号的地方

enum class Color(val r: Int, val g: Int, val b: Int) {RED(255, 0, 0), GREEN(0, 255, 0), BLUE(0, 0, 255);fun rgb() = (r * 256 + g) * 256 + b
}

When

可使用多行表达式函数体

fun getRgb(color: Color) =when (color) {Color.RED -> "255,0,0"Color.GREEN -> "0, 255, 0"Color.BLUE -> "0, 0, 255"}

上面只会匹配对应分支,如果需要多个值合并,则使用逗号隔开

fun getRgb(color: Color) =when (color) {Color.RED, Color.GREEN -> "255,255,0"Color.BLUE -> "0, 0, 255"}

when可以使用任何对象,如下使用set进行判断(不分顺序)

fun getRgb(c1: Color, c2: Color) =when (setOf(c1, c2)) {setOf(Color.RED, Color.GREEN) -> "255,255,0"setOf(Color.GREEN, Color.BLUE) -> "0,255,255"else -> throw Exception("none")}

如果没有给when提供参数,则分支条件为布尔表达式

fun getRgb(c1: Color, c2: Color) =when {(c1 == Color.RED && c2 == Color.GREEN) || (c1 == Color.GREEN && c2 == Color.RED) -> "255,255,0"(c1 == Color.GREEN && c2 == Color.BLUE) || (c1 == Color.BLUE && c2 == Color.GREEN) -> "0,255,255"else -> throw Exception("none")}

使用When优化if

对于如下类结构

interface Expr
class Num(val value: Int) : Expr
class Sum(val left: Int, val right: Int) : Expr

计算加法时,使用if如下,代码块中的最后表达式即为返回值,但不适用于函数(需要显示return)

fun eval(e: Expr): Int =if (e is Num) {e.value} else if (e is Sum) {eval(e.left) + eval(e.right)} else {throw IllegalArgumentException("")}

可使用when对其进行优化

fun eval(e: Expr): Int =when (e) {is Num -> {e.value}is Sum -> {eval(e.left) + eval(e.right)}else -> {throw IllegalArgumentException("")}}

in

可使用in判断一个值是否在一个区间/集合内,反之使用 !in

fun isNum(c: Char) = c in '0'..'9'
fun isNotNum(c: Char) = c !in '0'..'9'println("Kotlin" in setOf("Java", "C"))

可用于when中进行判断

fun recognize(c: Char) = when (c) {in '0'..'9' -> "digit"in 'a'..'z' -> "letter"else -> "not know"
}

可用于比较任何实现了Comparable接口的对象,如下比较字符串将按照字母表顺序

println("Kotlin" in "Java".."Z")

for

如判断奇偶数的函数

fun isEven(i: Int) = when {i % 2 == 0 -> "偶数"else -> "奇数"
}

for循环可使用区间表示两个值之间的间隔,如下分别表示[1,10]、[1,10)

for (i in 1..10) {print(i)print("是")println(isEven(i))
}for (i in 1 until 10) {print(i)print("是")println(isEven(i))
}

如果需要反向,且设置步长(可为负数),可使用

for (i in 10 downTo 1 step 2) {print(i)print("是")println(isEven(i))
}

还可以用for遍历集合

val chartBinary = TreeMap<Char, String>()for (c in 'A'..'D') {val binary = Integer.toBinaryString(c.toInt())chartBinary[c] = binary;
}for ((chat, binary) in chartBinary) {println("$chat = $binary")
}

如果需要跟踪下标,可使用withIndex()

val list = arrayListOf("A", "B")
for ((index, element) in list.withIndex()) {println("$index: $element")
}
http://www.yayakq.cn/news/420780/

相关文章:

  • 网站上传 空间 数据库推广的软件
  • 如何在年报网站上做遗失公告手机开发者选项在哪里关闭
  • 前端做网站一般用什么框架宜丰做网站的
  • 想建设个人网站去那里建设石家庄php网站建设
  • 安全可信网站营销网站制作方法
  • 淘宝网站网页图片怎么做的网站建设优化扬州
  • 如何建立一个个人博客网站住宅小区物业管理系统网站建设
  • 做私人网站医疗网站建设精英
  • 网站建设教程赚找湖南岚鸿认 可苏州婚庆公司网站建设案例
  • 河北住房和城乡建设部网站建筑工程网上报建网站诚信手册
  • 金华公司建站模板定制型网站设计报价表
  • 做商城网站数据库分类该有哪些什么网站做装修的
  • 哪个网站建设服务器是在国外的wordpress主页标题显示不全
  • 国外网站设计公司企业建站模版
  • 杭州久邦电力建设有限公司网站网站编程代码
  • 企业网站建设后期维护费用HTML5移动端手机网站开发
  • 论坛的网站开发项目百度应用下载安装
  • 手机网站大全推荐河源北京网站建设
  • 游戏网站上做银商为网站人员佛山营销网站建设
  • 米拓模板网站建设昆明网站建设设计
  • 给企业建设网站的意义天津搜索引擎优化公司
  • 建影楼网站多少钱营销型网站易网拓
  • 做一元购物网站个人简历制作免费
  • 网站界面设计如何实现功能美与形式美的统一?hs网站推广
  • 西安市建设局官方网站网站注销备案查询系统
  • 公司换网站换域名 备案wordpress一行太宽了
  • 网站开发与维护都有些什么创意设计素描
  • 学设计的网站都有哪些空间如何安装wordpress
  • dw做的网站如何让文字换行网站内部优化方法
  • 福永网站的建设卡密网站建设