Alle parameters die in een Swift-functie worden doorgegeven zijn constanten, dus je kunt ze niet wijzigen. Als je wilt, kun je een of meer parameters als inout
doorgeven, wat betekent dat ze binnen je functie kunnen worden gewijzigd, en dat die wijzigingen worden weerspiegeld in de oorspronkelijke waarde buiten de functie.
Bijv. als je een getal op zijn plaats wilt verdubbelen – d.w.z, de waarde direct veranderen in plaats van een nieuwe waarde terug te geven – zou je een functie als deze kunnen schrijven:
func doubleInPlace(number: inout Int) { number *= 2}
Om dat te gebruiken, moet je eerst een variabel geheel getal maken – je kunt geen constante gehele getallen gebruiken met inout
, omdat ze zouden kunnen worden gewijzigd. Je moet de parameter ook doorgeven aan doubleInPlace
met een ampersand, &
, voor de naam, wat een expliciete erkenning is dat je weet dat het wordt gebruikt als inout
.
In code zou je dit schrijven:
var myNum = 10 doubleInPlace(number: &myNum)
SPONSORED Het bouwen en onderhouden van in-app abonnementsinfrastructuur is moeilijk. Gelukkig is er een betere manier. Met RevenueCat kunt u abonnementen voor uw app implementeren in uren, niet maanden, zodat u zich kunt bezighouden met het bouwen van uw app.
Probeer het gratis
Sponsor Hacking with Swift en bereik ’s werelds grootste Swift-gemeenschap!