Kotlin standard- och namngivna argument (med exempel)

I den här artikeln lär du dig om standard- och namngivna argument med hjälp av exempel.

Kotlin standardargument

I Kotlin kan du ange standardvärden för parametrar i funktionsdefinition.

Om funktionen anropas med godkända argument används dessa argument som parametrar. Men om funktionen anropas utan att skicka argument används standardargumentet.

Hur fungerar standardargument?

Fall I: Alla argument godkända

Funktionen foo()tar två argument. Argumenten har standardvärden. Men foo()kallas genom att skicka båda argumenten i ovanstående program. Därför används inte standardargumenten.

Värdet på bokstaven och siffran kommer att vara 'x'respektive 2 i foo()funktionen.

Fall II: Alla argument godkänns inte

Här skickas endast ett (första) argument till foo()funktionen. Därför använder det första argumentet det värde som skickas till funktionen. Det andra argumentnumret tar dock standardvärdet eftersom det andra argumentet inte skickas under funktionsanrop.

Värdet på bokstaven och siffran kommer att vara 'y'respektive 15 i foo()funktionen.

Fall III: Inget argument har godkänts

Här foo()kallas funktionen utan att skicka något argument. Därför använder båda argumenten standardvärdena.

Värdet på bokstaven och siffran kommer att vara 'a'respektive 15 i foo()funktionen.

Exempel: 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ör programmet blir resultatet:

Resultat när inget argument skickas: =============== '*' används som ett första argument. Output när första argumentet skickas: *************** '*' används som ett första argument. 5 används som ett andra argument. Output när båda argumenten skickas: *****

Kotlin heter argument

Innan vi talar om namngivna argument, låt oss överväga en liten modifiering av ovanstående kod:

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

Här försöker vi skicka andra argument till displayBorder()funktionen och använda standardargument för första argument. Men den här koden kommer att ge ett fel. Det beror på att kompilatorn tror att vi försöker ge 5 ( Intvärde) till karaktär ( Chartyp).

För att lösa denna situation kan namngivna argument användas. Så här:

Exempel: Kotlin heter 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ör programmet blir resultatet:

 =====

I ovanstående program använder vi namngivna argument ( length = 5) för att specificera att längdparametern i funktionsdefinitionen ska ta detta värde (spelar ingen roll i argumentets position).

Det första argumenttecknet använder standardvärdet '='i programmet.

Intressanta artiklar...