Kotlin Default en Named Arguments (met voorbeelden)

In dit artikel leert u met behulp van voorbeelden over standaardargumenten en benoemde argumenten.

Kotlin standaard argument

In Kotlin kunt u standaardwaarden opgeven voor parameters in functiedefinitie.

Als de functie wordt aangeroepen met doorgegeven argumenten, worden die argumenten gebruikt als parameters. Als de functie echter wordt aangeroepen zonder argument (en) door te geven, wordt het standaardargument gebruikt.

Hoe standaardargumenten werken?

Geval I: alle argumenten zijn geslaagd

De functie foo()heeft twee argumenten. De argumenten zijn voorzien van standaardwaarden. Wordt foo()echter aangeroepen door beide argumenten door te geven in het bovenstaande programma. Daarom worden de standaardargumenten niet gebruikt.

De waarde van letter en cijfer is 'x'respectievelijk 2 binnen de foo()functie.

Geval II: Alle argumenten zijn niet doorgegeven

Hier wordt slechts één (eerste) argument aan de foo()functie doorgegeven . Daarom gebruikt het eerste argument de waarde die aan de functie is doorgegeven. Het tweede argumentnummer krijgt echter de standaardwaarde omdat het tweede argument niet wordt doorgegeven tijdens de functieaanroep.

De waarde van letter en cijfer is 'y'respectievelijk 15 binnen de foo()functie.

Geval III: Er wordt geen argument aangenomen

Hier wordt de foo()functie aangeroepen zonder enig argument door te geven. Daarom gebruiken beide argumenten de standaardwaarden.

De waarde van letter en cijfer is 'a'respectievelijk 15 binnen de foo()functie.

Voorbeeld: Kotlin Default Argument

 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) )

Wanneer u het programma uitvoert, is de uitvoer:

Uitvoer als er geen argument is doorgegeven: =============== '*' wordt gebruikt als een eerste argument. Uitvoer wanneer het eerste argument wordt doorgegeven: *************** '*' wordt gebruikt als een eerste argument. 5 wordt als tweede argument gebruikt. Uitvoer wanneer beide argumenten zijn doorgegeven: *****

Kotlin noemde argument

Voordat we het hebben over het genoemde argument, moeten we een kleine wijziging van de bovenstaande code overwegen:

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

Hier proberen we het tweede argument door te geven aan de displayBorder()functie en het standaardargument te gebruiken voor het eerste argument. Deze code geeft echter een foutmelding. Het is omdat de compiler denkt dat we 5 ( Intwaarde) proberen op te geven aan teken ( Chartype).

Om deze situatie op te lossen, kunnen benoemde argumenten worden gebruikt. Hier 'hoe:

Voorbeeld: Kotlin genoemd argument

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

Wanneer u het programma uitvoert, is de uitvoer:

 =====

In het bovenstaande programma gebruiken we named argument ( length = 5) om aan te geven dat de parameter length in de functiedefinitie deze waarde moet aannemen (maakt niet uit wat de positie van het argument is).

Het eerste argumentteken gebruikt de standaardwaarde '='in het programma.

Interessante artikelen...