1、二元元组和三元元组
1)二元元组使用的关键字 pair
第一种格式
//定义二元元组 姓名 年纪
val pair = Pair<String, Int>("张三", 18)
//输出
println(pair.first)
println(pair.second)
第二种格式
//或者这种格式
val pair1 = "张三" to 18
println(pair.first)
println(pair.second)
2)三元元组使用关键字 Triple
/**
* 三元元组
* 核心内涵和二元元组是一样的
*/
val triple = Triple<String, Int,Int>("张三", 18,180)
2、空值处理
1)各种符号说明:
val str:String? 可空类型 可以赋值为null
?. 空安全调用符
Int ? 可空类型
a !! 关闭空检查
a?.toInt() 空安全调用符
?: Elvis操作符
val str: String? = null
//转换为Int类型
//告诉编译器 不要检查了 我一定不为空 还是可能为空 不建议使用
// str!!.toInt()
//空安全调用符 返回的值其实就是可空类型
str?.toInt()
//类似于
// if (str != null) {
// return str.toInt()
// } else {
// return null
// }
//使用Elvis操作符 不然的话返回的就是Int?
val b: Int = str?.toInt() ?: -1
println(b)//输出是 -1
3、自定义函数
自定义函数有四种形式
1)无参无返回值
/**
* 无参无返回值
*/
fun sayHello() {
print("hello")
}
2)有参无无返回值
/**
* 有参无无返回值
*/
fun sayHello(name: String) {
print("hello$name")
}
3)有参有返回值
/**
* 有参有返回值
*/
fun getLength(name: String): Int {
return name.toInt()
}
4)无参有返回值
/**
* 无参有返回值
*/
fun get(): String {
return "hello"
}