Android Academy · leksjon

Funksjoner og lambdaer

Definer funksjoner med parametere og returtyper, bruk standard- og navngitte argumenter, og skriv konsise lambda-uttrykk.

Leksjon 2 av 311 trinn

Funksjoner og lambdaer er en gratis leksjon i Android Academy på CoddyKit. Dette er leksjon 2 av 3. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Android Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Android Academy inneholder totalt 3 leksjoner.

Hvorfor funksjoner?

Funksjoner lar deg skrive en kodeblokk én gang og gjenbruke den hvor som helst.

  • Reduserer duplisering
  • Gjør koden enklere å lese og teste
  • Deler store problemer opp i mindre deler

I Kotlin er funksjoner førsteklasses verdier — du kan lagre dem i variabler og sende dem rundt.

Grunnleggende funksjonssyntaks

En Kotlin-funksjon bruker nøkkelordet fun:

fun greet(name: String): String {
    return "Hello, $name!"
}

fun main() {
    val msg = greet("Alice")
    println(msg)  // Hello, Alice!

    println(greet("Bob"))  // Hello, Bob!
}

Funksjoner med ett uttrykk

Når funksjonskroppen består av ett uttrykk, kan du bruke = og utelate klammeparentesene og return:

fun square(n: Int): Int = n * n

fun add(a: Int, b: Int) = a + b  // type inferred

fun main() {
    println(square(5))   // 25
    println(add(3, 7))   // 10
}

Standard- og navngitte argumenter

Kotlin-funksjoner støtter standardverdier for parametere — du trenger ikke overlagrede funksjoner:

  • Standard: fun greet(name: String = "World")
  • Navngitt: kall med greet(name = "Alice") for å unngå posisjonsrekkefølgen

Standard- og navngitte argumenter i praksis

Standardargumenter holder API-et ryddig:

fun buildProfile(
    name: String,
    age: Int = 0,
    role: String = "User"
): String {
    return "$name | age=$age | $role"
}

fun main() {
    println(buildProfile("Alice"))
    println(buildProfile("Bob", age = 30))
    println(buildProfile("Carol", 25, "Admin"))
}

Hva er lambdas?

En lambda er en anonym funksjon — en funksjon uten navn.

  • Syntaks: { params -> body }
  • Lagres i en variabel: val double = { x: Int -> x * 2 }
  • Sendes til en annen funksjon som et argument

Lambdas finnes overalt i Android: klikklyttere, listetransformasjoner og coroutines.

Lambda-eksempler

Lagre og kall lambdas på samme måte som vanlige funksjoner:

fun main() {
    val double = { x: Int -> x * 2 }
    println(double(4))   // 8

    val add = { a: Int, b: Int -> a + b }
    println(add(3, 5))   // 8

    // Lambda with no params
    val sayHi = { println("Hi!") }
    sayHi()              // Hi!
}

Høyereordensfunksjoner

En høyereordensfunksjon tar en annen funksjon som parameter eller returnerer en funksjon.

Kotlins standardbibliotek er fullt av slike: filter, map, forEach.

Syntaks for etterfølgende lambda: Når det siste argumentet er en lambda, flytter du den utenfor parentesene.

Syntaks for etterfølgende lambda

Send en lambda som det siste argumentet utenfor parentesene:

fun applyTwice(n: Int, operation: (Int) -> Int): Int {
    return operation(operation(n))
}

fun main() {
    val result = applyTwice(3) { x -> x * 2 }
    println(result)  // 12  (3 * 2 = 6, 6 * 2 = 12)

    // 'it' is the implicit single parameter
    val doubled = applyTwice(5) { it + it }
    println(doubled) // 20
}

Kort sjekk

Se på denne koden. Hva skriver den ut?

val triple = { x: Int -> x * 3 }
println(triple(4))

Oppsummering: Funksjoner og lambdas

Dette har du lært:

  • fun definerer en funksjon med parametere og returtype
  • Funksjoner med ett uttrykk bruker kortformen =
  • Standard- og navngitte argumenter erstatter overlagrede funksjoner
  • Lambdas er anonyme funksjoner: { params -> body }
  • Høyereordensfunksjoner tar funksjoner som parametere

Neste: styre programflyten med betingelser og løkker.

Gratis å komme i gang

Lær deg Kotlin med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
36
Leksjoner
152

Ofte stilte spørsmål

Er leksjonen «Funksjoner og lambdaer» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Android Academy, inkludert «Funksjoner og lambdaer», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Android Academy inneholder totalt 3 leksjoner.

Hva lærer jeg i «Funksjoner og lambdaer»?

Definer funksjoner med parametere og returtyper, bruk standard- og navngitte argumenter, og skriv konsise lambda-uttrykk. Du øver på Android Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Android Academy?

Ingen tidligere erfaring er nødvendig. Android Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 3.

Hvor lang tid tar leksjonen «Funksjoner og lambdaer»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Android Academy-leksjonen?

Ja. Alle Android Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Variabler og datatyper
  2. Funksjoner og lambdaer
  3. Kontrollflyt
← Tilbake til Android Academy