Mojo Academy · Lektion

Mutera på plats med inout

Låt en funktion ändra anroparens värde.

Lektion 2 av 413 steg

Mutera på plats med inout ä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.

Ibland måste du ändra det

Att låna låter dig bara läsa. Men ibland behöver en funktion faktiskt ändra anroparens värde, till exempel genom att öka en räknare. ✏️

Möt inout

Konventionen inout ger en funktion åtkomst för att ändra värdet. Ändringar du gör inuti återspeglas i anroparens variabel.

In och ut

Namnet säger allt: värdet går in, Ni ändrar det och det uppdaterade värdet kommer tillbaka till anroparen. Ingen kopia returneras.

Markera en parameter

Ni skriver inout före parameternamnet. Nu uppdaterar tilldelningar inne i funktionen den ursprungliga variabeln direkt.

fn increment(inout n: Int):
    n += 1

Anropa den

Skicka in en variabel och se hur den ändras efter anropet. Funktionen redigerade anroparens värde på plats, utan att någon retur behövdes.

var count = 5
increment(count)
print(count)  # 6

Måste vara muterbar

Argumentet Ni skickar till en inout-parameter måste vara en muterbar var. Ni kan inte skicka in en fast literal eller ett lånat värde.

Exklusiv under lån

Medan en funktion håller en inout-referens får inget annat komma åt värdet. Regeln om exklusivitet förhindrar motstridiga ändringar.

Inga dolda kopior

Precis som lån fungerar inout via referens, så ingen fullständig kopia skapas. Ni får mutering utan kostnaden för duplicering.

Anroparen äger fortfarande värdet

Med inout behåller anroparen ägarskapet. Funktionen lånar bara värdet muterbart under anropet och lämnar sedan tillbaka kontrollen.

När ska inout väljas

Använd inout när en funktions hela uppgift är att uppdatera ett värde som anroparen ska fortsätta använda, till exempel genom att utöka en buffert eller återställa ett fält.

Läsa och mutera sida vid sida

Hittills: borrowed betyder skrivskyddad läsning, medan inout betyder läsning och skrivning. Genom att välja rätt variant ser läsaren exakt vad en funktion gör.

Snabbkontroll

Låt oss kontrollera vad inout möjliggör.

Sammanfattning

inout låter en funktion mutera anroparens värde på plats, via referens och utan kopia. Anroparen äger fortfarande värdet hela tiden. 🎯

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 ”Mutera på plats med inout” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Mojo Academy, inklusive ”Mutera på plats med inout”, 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 ”Mutera på plats med inout”?

Låt en funktion ändra anroparens värde. 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 ”Mutera på plats med inout”?

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. Låna argument skrivskyddat
  2. Mutera på plats med inout
  3. Ta ägarskap med owned
  4. Överföringsoperatorn
← Tillbaka till Mojo Academy