Mojo Academy · Lektion

Skriva en fn-funktion

Strikt, typad och prestandafokuserad.

Lektion 2 av 413 steg

Skriva en fn-funktion är en gratis lektion i Mojo Academy på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Mojo Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Mojo Academy innehåller totalt 4 lektioner.

Möt nyckelordet fn

Nyckelordet fn definierar en striktare funktion. Det ger upp lite flexibilitet i utbyte mot säkerhet och den snabbhet som Mojo är känt för. ⚡

fn greet():
    print("Hello")

Typer krävs

Varje parameter i en fn måste deklarera sin typ. Då kan kompilatorn kontrollera koden och generera snabb maskinkod.

fn add(a: Int, b: Int) -> Int:
    return a + b

Deklarera returtypen

En fn anger vad den returnerar med en pil, till exempel -> Int. Om den returnerar något måste typen anges uttryckligen.

fn square(x: Int) -> Int:
    return x * x

Ingen returtyp betyder None

Utelämna pilen när en fn inte returnerar något. Funktionen utför en åtgärd, till exempel utskrift, och lämnar inte tillbaka något värde.

fn shout(msg: String):
    print(msg)

Argument är oföränderliga som standard

I en fn är argument skrivskyddade som standard. Om du försöker tilldela ett nytt värde blir det ett kompileringsfel, vilket förebygger svårupptäckta buggar.

fn show(x: Int):
    print(x)

Kompilatorn hjälper dig

Eftersom typerna är kända upptäcker kompilatorn avvikelser innan programmet körs och omvandlar många krascher under körning till tidiga fel.

Strikthet ger hastighet

När alla typer är kända i förväg kan Mojo hoppa över dynamiska kontroller, så att en fn kan nå prestanda på nivå med lågnivåspråk.

Lokala variabler kräver var

Inuti en fn deklarerar du nya lokala variabler med var. De strikta räckviddsreglerna gör funktionen förutsägbar.

fn total() -> Int:
    var sum = 0
    sum = sum + 5
    return sum

Fel måste deklareras

En fn som kan misslyckas måste ange det med raises. Utan detta antar kompilatorn att funktionen aldrig kastar ett fel.

fn risky() raises:
    raise Error("nope")

Samma indragregler

Precis som def använder en fn indrag för sin kropp. Skillnaden ligger i typkravens strikthet, inte i den omgivande layouten.

fn info():
    print("a")
    print("b")

Byggt för heta kodvägar

Välj fn i de delar av programmet som körs miljontals gånger, där varje sparad nanosekund verkligen gör skillnad.

Snabb kontroll

Kom ihåg standardbeteendet för argument i fn.

Sammanfattning

Ni har mött fn: strikt, typad och snabb. Typer krävs, argument är skrivskyddade som standard och kompilatorn skyddar korrektheten. 🎯

Gratis att börja

Lär dig Mojo med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Skriva en fn-funktion” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Mojo Academy, inklusive ”Skriva en fn-funktion”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Mojo Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Skriva en fn-funktion”?

Strikt, typad och prestandafokuserad. Ni övar på Mojo Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Mojo Academy?

Du behöver inga förkunskaper. Utbildningen i Mojo Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Skriva en fn-funktion”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Mojo Academy-lektionen?

Ja. Varje Mojo Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Skriva en def-funktion
  2. Skriva en fn-funktion
  3. När ska du välja vilken?
  4. Returtyper och None
← Tillbaka till Mojo Academy