Kotlin standard- og navngitte argumenter (med eksempler)

I denne artikkelen vil du lære om standardargumenter og navngitte argumenter ved hjelp av eksempler.

Kotlin standardargument

I Kotlin kan du gi standardverdier til parametere i funksjonsdefinisjon.

Hvis funksjonen kalles med argumenter sendt, brukes disse argumentene som parametere. Imidlertid, hvis funksjonen kalles uten å sende argument (er), brukes standardargument.

Hvordan fungerer standardargumenter?

Sak I: Alle argumenter vedtatt

Funksjonen foo()tar to argumenter. Argumentene har standardverdier. Imidlertid foo()kalles ved å sende begge argumentene i programmet ovenfor. Derfor brukes ikke standardargumentene.

Verdien av bokstav og tall vil være 'x'henholdsvis og 2 inne i foo()funksjonen.

Sak II: Alle argumenter blir ikke godkjent

Her sendes bare ett (første) argument til foo()funksjonen. Derfor bruker det første argumentet verdien som sendes til funksjonen. Imidlertid vil det andre argumentet ta standardverdien siden det andre argumentet ikke sendes under funksjonsanrop.

Verdien av bokstav og tall vil være 'y'henholdsvis 15 inne i foo()funksjonen.

Sak III: Ingen argumenter blir bestått

Her foo()kalles funksjonen uten å føre noe argument. Derfor bruker begge argumentene standardverdiene.

Verdien av bokstav og tall vil være 'a'henholdsvis 15 inne i foo()funksjonen.

Eksempel: Standardargument for Kotlin

 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 kjører programmet, vil utdataene være:

Output når ingen argumenter sendes: ================ '*' brukes som første argument. Output når første argument sendes: *************** '*' brukes som et første argument. 5 brukes som et annet argument. Resultat når begge argumentene blir sendt: *****

Kotlin kalte argumentet

Før vi snakker om navngitt argument, la oss vurdere litt endring av ovennevnte kode:

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

Her prøver vi å overføre andre argument til displayBorder()funksjonen, og bruke standardargument for første argument. Imidlertid vil denne koden gi en feil. Det er fordi kompilatoren mener vi prøver å gi 5 ( Intverdi) til karakter ( Chartype).

For å løse denne situasjonen kan navngitte argumenter brukes. Slik gjør du:

Eksempel: Kotlin het 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 kjører programmet, vil utdataene være:

 =====

I det ovennevnte programmet bruker vi navngitt argument ( length = 5) for å spesifisere at lengdeparameteren i funksjonsdefinisjonen skal ta denne verdien (spiller ingen rolle posisjonen til argumentet).

Det første argumenttegnet bruker standardverdien '='i programmet.

Interessante artikler...