脫魯實錄之如何30天把到凱特琳(Kotlin) - Day10
今天,我們跟 Kotlin 去玩密室逃脫
為什麼覺得 函式(function) 跟密室逃脫有關呢
因為function就是在class中一個個獨立的程式區塊
可以把某一任務或是相同且重複的任務在function中完成甚至回傳結果
好處是:
Kotlin中的函式(function)在Java叫做方法(Method)
Java宣告方法如下:
private 回傳型態 方法名稱(參數型態 參數名稱1, 參數型態 參數名稱2){
//方法區塊
return 回傳結果;
}
//Ex:
private String createFullName(String firstName, String lastName){
String fullName = firstName + lastName;
return fullName;
}
Kotlin宣告函式如下:
private 方法名稱(參數名稱1: 參數型態, 參數名稱2: 參數型態): 回傳型態{
//方法區塊
return 回傳結果
}
//Ex:
private fun createFullName(firstName: String, lastName: String): String{
var fullName = firstName + lastName
return fullName
}
接下來再介紹幾個 Kotlin function 厲害的地方
1. function 後面的 {} 可以用 "=" 取代,另外 "=" 也代表 return 的意思
private fun createFullName(firstName: String, lastName: String) = print("My name is $firstName $lastName")
fun main() {
createFullName("Andrew E.", "Rubin")
}
private fun createFullName(firstName: String, lastName: String) = "My name is $firstName $lastName"
fun main() {
print(createFullName("Andrew E.", "Rubin"))
}
以上兩個例子都是印出 My name is Andrew E. Rubin
2. Kotlin 中的參數可以給預設值
在 Java 中,參數宣告好之後,就一定得傳入,否則就要寫在最後方用...的方式傳入,再用陣列的方式去接,而且只能相同型態
但在 Kotlin 中,宣告參數時可以順便帶上預設值,這樣就可以視情況決定要不要帶入該參數,或是指定參數名來帶入也行
請看以下範例
範例一:
private fun createFullName(firstName: String, lastName: String, age: Int = 0){
print("My name is $firstName $lastName I am $age years old")
}
fun main() {
createFullName("Andrew E.", "Rubin") //可以不傳入age
}
印出:My name is Andrew E. Rubin I am 0 years old
範例二: 給 lastName 預設值,並用指定參數傳入的方式傳入 age
private fun createFullName(firstName: String, lastName: String = "lastname", age: Int = 0){
print("$firstName $lastName I am $age years old")
}
fun main() {
createFullName("Andrew E.", age = 18)
}
印出:Andrew E. lastname I am 18 years old
以上就是 Kotlin 的 function 介紹啦
期待明天的分享喔~