标签:vararg 延迟加载 赋值 ems code 函数返回值 type ice 构造
Kotlin是一种非常简洁的语言,它省略了java中许多繁重的写法。
fun 函数名(arg1: type1, arg2: type2) : returnType{
return returnValue
}
例如:fun add(i: Int, j: Int): Int{
return i + j
}
或者fun add(i: Int,j Int): Int = i + j
fun add(vararg list:Int): Int{
var result = 0
for (i:Int in list){
result += i
}
return result
}
var add: (Int, Int) -> Int = {i,j -> i + j}
val age = 100
val name = "张启灵"
println("$name的年龄是$age")
fun printMsg(msg:String?) {
msg?.length // 如果msg==null,这句话不会被调用
}
fun printMsg(msg:String?) {
println(msg?:"default value") // 若msg为空,则打印default value,否则打印msg
}
printMsg(msg!!) // 这种情况需要msg一定不为null,否则会发生空指针异常
fun getValue():String? = value // 这个value肯能为null
for (i:Int in 1..9)
vs javafor (int i = 1; i <= 9; i++)
for (i:Int in 9 downTo 1)
vs javafor (int i = 9;i >= 1; i--)
for (i:Int in 1..20 step 2) {
println(i)
}
vs javafor (int i = 0; i <= 20; i+= 2)
for (i:Int in 1 until 10)
vs javafor (int i = 0; i < 10; i++)
通过arrayOf和Array构造函数定义数组
val numbers:Array<Int> = arrayOf(1,2,3,4,5)
for(i:Int in numbers) { println(i) }
val numbers2:Array<Int> = Array(20, {value: Int->(value + 1000)})
for(i:Int in numbers2) { println(i) } // 结果都加了1000
var maxValue:Int = if (number1 > number2) num1 else num2
var minValue:Int = if (number1 < number2) {
number1
} else {
number2
}
用于判断是否在一个数组中
if (x in array) {
//..
}
if(x in 1..9) {
// ..
}
when通常用于代替if else if
var number = 5
when (number) {
1-> {//..}
2-> {//..}
//..
5-> {//..}
}
when (number) {
in array1 -> //..
in array2 -> //..
}
//还可以把when赋值给一个表达式
var result = when (number) {
5 -> {"星期五"}
else -> "周末"
}
通过T@进行标记,类似于java中的Label
T@
for(i:Int in array1){
for(j:Int in array2){
break@T
}
}
集合和数组的定义很类似
var items:list<String> = listOf<String>("a","b","c")
//遍历
for(item:String in items){
println(item)
}
items.forEach{
println(it)
}
for(index in items.indices){
println("下标:$index,对应的值,${item[index]}")
}
lateinit
lateint var a:String //这种方式可以不需要在定义时初始化
val a2:String by lazy{ //lazy也是懒加载的一种方式,但只能给val用,在第一次被调用时初始化
"str"
}
本节主要描述了Kotlin的简单使用,如空处理、函数、循环、懒加载、数组、in、when等
标签:vararg 延迟加载 赋值 ems code 函数返回值 type ice 构造
原文地址:https://www.cnblogs.com/csluoyao/p/14651080.html