Alle parametre, der overføres til en Swift-funktion, er konstanter, så du kan ikke ændre dem. Hvis du ønsker det, kan du overdrage en eller flere parametre som inout
, hvilket betyder, at de kan ændres inde i din funktion, og at disse ændringer afspejles i den oprindelige værdi uden for funktionen.
For eksempel, hvis du ønsker at fordoble et tal på stedet – dvs, ændre værdien direkte i stedet for at returnere en ny – kan du skrive en funktion som denne:
func doubleInPlace(number: inout Int) { number *= 2}
For at bruge den skal du først lave et variabelt heltal – du kan ikke bruge konstante heltal med inout
, fordi de kan blive ændret. Du skal også sende parameteren til doubleInPlace
ved at bruge et ampersand, &
, før dens navn, hvilket er en eksplicit anerkendelse af, at du er klar over, at den bruges som inout
.
I kode ville du skrive dette:
var myNum = 10 doubleInPlace(number: &myNum)
SPONSORED Det er svært at opbygge og vedligeholde infrastruktur til abonnementer i apps. Heldigvis er der en bedre måde. Med RevenueCat kan du implementere abonnementer til din app på få timer, ikke måneder, så du kan vende tilbage til at bygge din app.
Prøv det gratis
Sponsor Hacking with Swift, og nå ud til verdens største Swift-fællesskab!