Mojo Academy · Lektion

Parameteriserede funktioner

Specialisér en funktion med parametre i [kantede parenteser].

Lektion 2 af 413 trin

Parameteriserede funktioner er en gratis Mojo Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Mojo Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Mojo Academy-kurset indeholder 4 lektioner i alt.

Funktioner med en parameter

En parameteriseret funktion tager en værdi fra kompilering i kantede parenteser, så én definition kan tilpasse sig, før programmet kører. ⚙️

fn repeat[count: Int](msg: String):
    for i in range(count):
        print(msg)

Listen i kantede parenteser

Placér dine parametre i kantede parenteser lige efter funktionsnavnet og derefter dine almindelige argumenter i parenteser.

fn scale[factor: Int](x: Int) -> Int:
    return x * factor

Kald med en parameter

Ved kaldet udfylder du parentesen med en konstant og sender derefter argumenter ved kørsel i parenteser som normalt.

var y = scale[10](4)

Hver værdi giver en version

Mojo bygger en ny specialiseret kopi af funktionen for hver parameterværdi, du bruger, og tilpasser hver kopi præcist til den konstant.

Typeparametre

En parameter kan endda være en type. Sådan skriver du én funktion, der fungerer for Int, Float eller enhver type, du vælger.

fn first[T: AnyType](value: T) -> T:
    return value

Generisk med traits

Begræns en typeparameter med en trait, så kroppen sikkert kan bruge de metoder, som denne trait lover, at alle typer, der følger den, har.

fn show[T: Stringable](value: T):
    print(String(value))

Kompilatoren indsætter den

Fordi parameteren er en konstant, kan kompilatoren indsætte den direkte i koden og ofte helt fjerne løkker eller forgreninger.

Blanding af parametre og argumenter

Én funktion kan tage begge dele: en parameter ved kompilering til strukturen og argumenter ved kørsel til de faktiske data, den behandler.

fn fill[n: Int](value: Int):
    for i in range(n):
        print(value)

Udledte parametre

Nogle gange kan Mojo udlede en parameter ud fra argumenterne, så du skal skrive mindre, mens kompilatoren udfylder resten for dig.

Derfor forbliver det hurtigt

Hver specialisering er sin egen optimerede funktion uden omkostninger ved kørsel for parameteren, og det er kernen i Mojos hastighed.

Én kilde, mange builds

Du vedligeholder én læsbar definition, mens kompilatoren stille og roligt producerer mange hurtige, specialiserede builds i baggrunden.

Hurtigt tjek

Genkald, hvordan en parameteriseret funktion skrives.

Opsummering

Du skrev parameteriserede funktioner: kantede parenteser indeholder værdier ved kompilering, kompilatoren specialiserer hver version, og én kilde bliver til mange hurtige builds. 🎯

Gratis at komme i gang

Lær Mojo med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Parameteriserede funktioner” gratis?

Ja — alle 3 lektioner i læringssporet Mojo Academy, inklusive “Parameteriserede funktioner”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Mojo Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Parameteriserede funktioner”?

Specialisér en funktion med parametre i [kantede parenteser]. Du øver dig i Mojo Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Mojo Academy?

Der kræves ingen tidligere erfaring. Mojo Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Parameteriserede funktioner”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Mojo Academy-lektion?

Ja. Alle Mojo Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Parametre kontra argumenter
  2. Parameteriserede funktioner
  3. Parameteriserede structs
  4. Hvorfor kompileringstid giver hastighed
← Tilbage til Mojo Academy