Kotlin alapértelmezett és elnevezett argumentumai (példákkal)

Ebben a cikkben példák segítségével megismerheti az alapértelmezett és megnevezett argumentumokat.

Kotlin alapértelmezett argumentuma

Kotlinban a függvénydefinícióban megadhat alapértelmezett értékeket a paramétereknek.

Ha a függvényt átadott argumentumokkal hívják meg, akkor ezeket az argumentumokat használják paraméterként. Ha azonban a függvényt argumentum (ok) átadása nélkül hívják meg, akkor alapértelmezett argumentumot használnak.

Hogyan működnek az alapértelmezett argumentumok?

I. eset: Minden érv elfogadásra került

A függvénynek foo()két argumentuma van. Az argumentumok alapértelmezett értékekkel vannak megadva. Ugyanakkor foo()a fenti program mindkét argumentumának megadásával hívják meg. Ezért az alapértelmezett argumentumokat nem használják.

A betű és a szám értéke 'x'2, illetve 2 lesz a foo()függvényen belül .

II. Eset: Minden érvet nem fogadunk el

Itt csak egy (első) argumentumot adunk át a foo()függvénynek. Ezért az első argumentum a függvénynek átadott értéket használja. A második argumentumszám azonban az alapértelmezett értéket veszi fel, mivel a második argumentum nem kerül átadásra a függvényhívás során.

A betű és a szám értéke 'y'a foo()függvényben 15, illetve 15 lesz .

III. Eset: Nincs érv

Itt a foo()függvényt argumentum nélkül adjuk meg. Ezért mindkét argumentum az alapértelmezett értékeket használja.

A betű és a szám értéke 'a'a foo()függvényben 15, illetve 15 lesz .

Példa: Kotlin alapértelmezett argumentuma

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( println("Output when no argument is passed:") displayBorder() println("'*' is used as a first argument.") println("Output when first argument is passed:") displayBorder('*') println("'*' is used as a first argument.") println("5 is used as a second argument.") println("Output when both arguments are passed:") displayBorder('*', 5) )

A program futtatásakor a kimenet a következő lesz:

Kimenet, amikor nem adunk át argumentumot: =============== A '*' szerepel első argumentumként. Kimenet az első argumentum átadásakor: *************** Az első argumentumként a '*' szót használják. Az 5-öt második érvként használják. Kimenet mindkét argumentum átadásakor: *****

Kotlin nevezett érvet

Mielőtt megemlítenénk a megnevezett argumentumot, vegyük fontolóra a fenti kód egy kis módosítását:

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( displayBorder(5) )

Itt megpróbálunk második argumentumot átadni a displayBorder()függvénynek, és az alapértelmezett argumentumot használjuk az első argumentumhoz. Ez a kód azonban hibát ad. Ez azért van, mert a fordító úgy gondolja, hogy megpróbálunk 5-öt ( Intértéket) megadni a karakterhez ( Chartípushoz).

A helyzet megoldására megnevezett argumentumok használhatók. Így:

Példa: Kotlin megnevezett argumentum

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( displayBorder(length = 5) ) 

A program futtatásakor a kimenet a következő lesz:

 =====

A fenti programban megnevezett argumentumot ( length = 5) használunk, amely meghatározza, hogy a függvénydefiníció hosszának paraméterének ezt az értéket kell megadnia (nem számít az argumentum helye).

Az első argumentum karakter az alapértelmezett értéket használja '='a programban.

érdekes cikkek...