Kotlin中常见的符号详解中常见的符号详解
主要介绍了Kotlin中常见的符号详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
前几年的Google I/O大会上,Google正式宣布,Kotlin将会成为Android开发的官方支持语言。除了Android外,Kotlin还可以完
全作为服务端开发的语言,比如在未来的Spring 5就将对Kotlin提供强大的支持。以及浏览器编程语言,与JS进行交互。
Kotlin是一门静态语言,支持多种平台,包括移动端、服务端以及浏览器端,此外,Kotlin还是一门融合了面向对象与函数式编
程的语言,支持泛型、安全的空判断,并且Kotlin与Java可以做到完全的交互。
现在介绍Kotlin的文章已经是铺天盖地,大部分都是从Kotlin的基本数据类型介绍起,本文不想重复这样的事情,这里从另一面
来开始,我们来看看Kotlin中的各种符号。
$符合和多行输入符符合和多行输入符
println("itemB:$itemB")
//字符串模板
var userInfo = "name:${user.name}, age:$age"
//三引号的形式用来输入多行文本
val str = """
one
two
"""
//等价于
val str = "onetwo"
三引号之间输入的内容将被原样保留,之中的单号和双引号不转义,其中的不可见字符比如/n和/t都会被保留。
?问号?问号
表示这个对象可能为空
//在变量类型后面加上问号,代表该变量是可空变量
var name: String? = "zhangsan"
/**
* 如果str不能转为Int类型,则返回null
*/
fun parseInt(str: String): Int? {
// (代码略)
}
b?.length //如果 b非空,就返回 b.length ,否则返回 null,这个表达式的类型是 Int? 。
Elvis操作符(?:)
如果r非空,我使用它;否则使某个非空的值 x ”:
val l: Int = if (b != null) b.length else -1
除了完整的 if-表达式,这还可以通过 Elvis 操作符表达:
val l = b?.length ?: -1
如果 ?: 左侧表达式非空,elvis操作符就返回其左侧表达式,否则返回右侧表达式。请注意,当且仅当左侧为空时,才会对右
侧表达式求值。
!! 操作符操作符
对于NPE 爱好者,我们可以写 b!! ,这会返回一个非空的 b 值 或者如果 b 为空,就会抛出一个 NPE 异常:
val l = b!!.length
因此,如果你想要一个 NPE,你可以得到它,但是你必须显式要求它,否则它不会不期而至。
==号与号与===号号