Kotlin 語法 (筆記 一)
1.基本使用
-
變量
聲明:var 變量, val 常量 只能初始化賦值一次
var a = 1 //類型可以不指定 var a: Int; //初始化未賦值的時候 必須要指定類型 a = 1;
-
函數(shù)
//a b 參數(shù) Int 返回類型 fun test(a: Int,b: Int :String): Int{ return a+b; }-
返回值類型:
明確類型(如果 函數(shù)聲明為 public 則必須添加返回類型)
Unit(無返回值類型,無返回值 默認可以不加) 類似java 中的void關(guān)鍵字
-
函數(shù)體為表達式
-
?自動判斷返回值類型
fun test(a: Int ,b :Int) = a + b
-
-
可變的長參數(shù)函數(shù) 使用 vararg 關(guān)鍵字
fun test(varage v :Int)
-
lambda
var lambda:(Int ,Int) -> Int = (x,y -> x+y) var lambda = {x:Int,y:Int -> x+y} -
null檢查機制
fun nullTest(arg: String?): Int? { //類型后面 ? 設(shè)置String 可以為空 var arg1: String? = null; if(arg !=null){ Log.d(tag,arg); } if(arg1 == null){ Log.d(tag,"arg1 null"); } var arg2 = null; //變量后面!! 會拋異常 var arg3 = arg2!!.toInt() Log.d(tag,arg3.toString()); var arg4 = null; //變量后面加?會返回null var arg5 = arg4?.toInt(); Log.d(tag,arg5.toString()); var arg6 = null; //返回值后面加 ?: 會返回冒號后面的值 var arg7 = arg6?.toInt()?: -1 Log.d(tag,arg7.toString()); //返回可能為空時 返回參數(shù)后面也要加? return null; } -
類型轉(zhuǎn)換
-
is 關(guān)鍵字, 類似 java instanceof
區(qū)別在 is 會自動做類型轉(zhuǎn)換
-