Alla parametrar som skickas in i en Swift-funktion är konstanter, så du kan inte ändra dem. Om du vill kan du skicka in en eller flera parametrar som inout
, vilket innebär att de kan ändras inne i din funktion, och dessa ändringar återspeglas i det ursprungliga värdet utanför funktionen.
Till exempel, om du vill fördubbla ett tal på plats – dvs, ändra värdet direkt i stället för att returnera ett nytt – kan du skriva en funktion som denna:
func doubleInPlace(number: inout Int) { number *= 2}
För att använda den måste du först skapa ett variabelt heltal – du kan inte använda konstanta heltal med inout
, eftersom de kan ändras. Du måste också skicka parametern till doubleInPlace
med ett ampersand, &
, före dess namn, vilket är ett uttryckligt erkännande av att du är medveten om att den används som inout
.
I kod skulle du skriva så här:
var myNum = 10 doubleInPlace(number: &myNum)
SPONSORED Att bygga och underhålla infrastruktur för prenumerationer i appar är svårt. Som tur är finns det ett bättre sätt. Med RevenueCat kan du implementera prenumerationer för din app på timmar, inte månader, så att du kan återgå till att bygga din app.
Try it for free
Sponsorera Hacking with Swift och nå världens största Swift-community!