Kotlin standard- og navngivne argumenter (med eksempler)

I denne artikel lærer du om standard- og navngivne argumenter ved hjælp af eksempler.

Kotlin-standardargument

I Kotlin kan du angive standardværdier til parametre i funktionsdefinition.

Hvis funktionen kaldes med overførte argumenter, bruges disse argumenter som parametre. Men hvis funktionen kaldes uden at overføre argumenter, bruges standardargumentet.

Hvordan fungerer standardargumenter?

Sag I: Alle argumenter vedtaget

Funktionen foo()tager to argumenter. Argumenterne er forsynet med standardværdier. Imidlertid foo()kaldes ved at sende begge argumenter i ovenstående program. Derfor bruges standardargumenterne ikke.

Værdien af ​​bogstav og tal vil være 'x'henholdsvis 2 inden i foo()funktionen.

Sag II: Alle argumenter er ikke godkendt

Her sendes kun et (første) argument til foo()funktionen. Derfor bruger det første argument den værdi, der sendes til funktionen. Andet argumentnummer tager dog standardværdien, da det andet argument ikke overføres under funktionsopkald.

Værdien af ​​bogstav og tal vil være henholdsvis 'y'og 15 inde i foo()funktionen.

Sag III: Intet argument er godkendt

Her foo()kaldes funktionen uden at passere noget argument. Derfor bruger begge argumenter standardværdierne.

Værdien af ​​bogstav og tal vil være henholdsvis 'a'og 15 inde i foo()funktionen.

Eksempel: Kotlin-standardargument

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

Når du kører programmet, vil output være:

Output, når der ikke sendes noget argument: ================ '*' bruges som et første argument. Output, når første argument sendes: *************** '*' bruges som et første argument. 5 bruges som et andet argument. Output når begge argumenter sendes: *****

Kotlin navngav argument

Før vi taler om navngivet argument, lad os overveje en lille ændring af ovenstående kode:

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

Her forsøger vi at overføre andet argument til displayBorder()funktionen og bruge standardargument til første argument. Denne kode vil dog give brug en fejl. Det er fordi compileren mener, at vi prøver at give 5 ( Intværdi) til karakter ( Chartype).

For at løse denne situation kan navngivne argumenter bruges. Her 'hvordan:

Eksempel: Kotlin navngivet argument

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

Når du kører programmet, vil output være:

 =====

I ovenstående program bruger vi navngivet argument ( length = 5) til at specificere, at længdeparameteren i funktionsdefinitionen skal tage denne værdi (betyder ikke noget for argumentets position).

Det første argumenttegn bruger standardværdien '='i programmet.

Interessante artikler...