好看網(wǎng)站手機(jī)版批量查詢權(quán)重
Kotlin 是 Google 推薦的用于創(chuàng)建新 Android 應(yīng)用的語言。使用 Kotlin,可以花更短的時間編寫出更好的 Android 應(yīng)用。
基礎(chǔ)
Kotlin 程序必須具有主函數(shù),這是 Kotlin 編譯器在代碼中開始編譯的特定位置。主函數(shù)是程序的入口點,或者說是起點。Kotlin 編譯器會將main函數(shù)用作起點。
函數(shù)是程序中用于執(zhí)行特定任務(wù)的部分。您的程序中可以有多個函數(shù),也可以只有一個函數(shù)。?
定義函數(shù)后,再調(diào)用函數(shù)。
定義函數(shù)
以下是定義函數(shù)所需的關(guān)鍵部分:
- 函數(shù)需要有名稱,這樣您以后才能調(diào)用它。
- 函數(shù)還可能需要一些輸入或需要在調(diào)用函數(shù)時提供的信息。函數(shù)要利用這些輸入來實現(xiàn)其目的。輸入并非硬性要求,有些函數(shù)不需要輸入。
- 函數(shù)還要有主體,其中包含執(zhí)行任務(wù)的指令。
Kotlin中定義函數(shù)必須遵循一下規(guī)則:
單詞“fun”必須放在最前面,接著是函數(shù)名稱,之后是用圓括號括起的輸入,再之后是用花括號括起的主體。?
函數(shù)關(guān)鍵字
為了指明即將使用 Kotlin 定義函數(shù),在新行中輸入特殊單詞?fun
(函數(shù)的縮寫)。輸入的?fun
?必須與此處所示的單詞完成相同,所有字母均為小寫形式。不能使用“func”、“function”或其他拼寫,因為 Kotlin 編譯器會無法識別其含義。
這些特殊單詞在 Kotlin 中稱為關(guān)鍵字,專用于特定用途,例如在 Kotlin 中創(chuàng)建新函數(shù)。
函數(shù)名稱
函數(shù)需要用名稱來區(qū)分彼此,函數(shù)的名稱位于?fun
?關(guān)鍵字后面。
名稱通常是動詞或動詞短語。不要使用?Kotlin 關(guān)鍵字作為函數(shù)名稱。
函數(shù)名稱應(yīng)遵循駝峰式大小寫的規(guī)范。
Kotlin中的數(shù)據(jù)類型
Kotlin中定義變量?
?定義新變量,用Kotlin 關(guān)鍵字開頭
val
?關(guān)鍵字用于定義只讀變量;其中的變量一旦賦值,就不能再更改。var
?關(guān)鍵字用于定義可變變量。(將變量聲明為?var
,才能更新其值)
如果在聲明變量時未提供初始值,就必須指定類型。
所以聲明變量還可以簡寫為:
val count1 = 2 //該變量的值不能再改變
var count2 = 2 該變量的值可改變
//一下是錯誤的代碼
count1 = 1
//一下是可以執(zhí)行的代碼
count2 = 1
val count: Int //未聲明值時,類型必須聲明
使用變量,在變量前面加$符號
fun main() {val count: Int = 2println("我 $count 歲了.")//我2歲了.
}
?若是復(fù)雜的表達(dá)式,就必須用大括號將該表達(dá)式括起來,并在大括號前添加?$
?符號:
${count1 + count2}
?+ 號將兩個字符串加在一起,這兩個字符串之間不會添加任何額外的空格。如果想讓輸出字符串中的冒號后面有空格,則需要在其中一個字符串中添加空格。?
在Kotlin中創(chuàng)建和使用函數(shù)
fun main() {//在main函數(shù)中調(diào)用自定義函數(shù)customFun()
}//自定義函數(shù)
fun customFun() {println("11")println("22")
}
11
22
Unit
?類型
默認(rèn)情況下,如果不指定函數(shù)返回值類型,默認(rèn)返回值類型是?Unit
。Unit
?表示函數(shù)并不會返回值。Unit
?相當(dāng)于其他語言中的 void 返回值類型。
不返回任何內(nèi)容或返回?Unit
?的函數(shù),不需要使用 return 語句。
fun customFn(): Unit {println("11")println("22")
}
fun main() {println(customFn2()) //yt
}
fun customFn2(): String {val a = "yt"return "$a"
}
給函數(shù)傳遞形參
每個形參均由變量名稱和數(shù)據(jù)類型組成,以冒號和空格分隔。多個形參以英文逗號分隔。
fun main() {println(customFn("yt", 18))/*姓名:yt年齡:18*/
}
fun customFn(name: String, age: Int): String {val a = "姓名:$name"val b = "年齡:$age 歲"return "$a\n$b"
}