您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Kotlin函數的默認值是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
簡要對比如下:
1、Java函數定義,如果sayHelloTo函數中的lastName可以使用默認值,則需要定義如下兩個函數.
public class Person { public void sayHelloTo(String firstName,String lastName){ System.out.println("Hi,"+firstName+" "+lastName); } public void sayHelloTo(String firstName){ sayHelloTo(firstName,"noLastName"); } }
2、Kotlin定義如下,只需要一個函數
class Person { fun sayHelloTo(firstName: String, lastName: String = "noLastName") { println("Hi,$firstName $lastName") } }
Kotlin函數默認值詳細規則
1、可以采用指定全部參數名和不指定參數名的調用方式,推薦采用指定參數名的調用方式(不能指定部分函數參數名,其他的不指定)
正確樣例:
sayHelloTo("Jerry","Aha") sayHelloTo(firstName = "Jerry",lastName = "Aha")
錯誤樣例:
sayHelloTo(firstName = "Jerry","Aha")
2、在指定參數名時,所有無默認值參數傳入值即可
樣例:
sayHelloTo(firstName = "Jerry",lastName = "Aha")
3、在不指定參數名時,則需要區分情況:
如果函數定義時,所有具有默認值的參數都在最后,則可以只傳入無默認值參數值.
樣例:
函數定義:
fun sayHelloTo(firstName: String, lastName: String = "Aha")
正確樣例:
sayHelloTo("Jerry")
如果函數定義時,具有默認值的參數并不都是在最后面,則必須傳入所有參數值.
樣例:
函數定義:
fun sayHelloTo(firstName: String, middleName: String = "",lastName: String)
正確樣例:
sayHelloTo("Jerry","","Aha")
錯誤樣例:
sayHelloTo("Jerry","Aha")
Demo代碼
1、Person.kt
class Person( val firstName: String = "Jerry", val lastName: String = "Yin" ) { fun sayHello() { System.out.println("Hi,$firstName $lastName") } fun sayHelloTo(firstName: String = "Baby", lastName: String = "Aha") { System.out.println("Hi,$firstName $lastName") } }
2、Person2.kt
class Person2( val firstName: String = "Jerry", val lastName: String ) { fun sayHello() { System.out.println("Hi,$firstName $lastName") } fun sayHelloTo(firstName: String = "Baby", lastName: String) { System.out.println("Hi,$firstName $lastName") } }
3、調用代碼:
Person().sayHello() Person("Jerry1").sayHello() Person("Jerry2", "Yin2").sayHello() Person(firstName = "Jerry3").sayHello() Person(lastName = "Yin4").sayHello() Person().sayHelloTo() Person().sayHelloTo("Baby1") Person().sayHelloTo("Baby2", "Aha2") Person().sayHelloTo(firstName = "Baby3") Person().sayHelloTo(lastName = "Aha4") Person2(lastName = "Yin5").sayHello() Person2("Jerry6", "Yin6").sayHello() Person2("", "").sayHelloTo(lastName = "Yin8") Person2("", "").sayHelloTo("Jerry9", "Yin9")
看完上述內容,你們對Kotlin函數的默認值是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。