Wszystkie parametry przekazywane do funkcji Swift są stałymi, więc nie można ich zmienić. Jeśli chcesz, możesz przekazać jeden lub więcej parametrów jako inout
, co oznacza, że mogą one zostać zmienione wewnątrz twojej funkcji, a zmiany te odzwierciedlają się w oryginalnej wartości poza funkcją.
Na przykład, jeśli chcesz podwoić liczbę w miejscu – tj, zmienić wartość bezpośrednio zamiast zwracać nową – możesz napisać funkcję taką jak ta:
func doubleInPlace(number: inout Int) { number *= 2}
Aby tego użyć, musisz najpierw utworzyć zmienną liczbę całkowitą – nie możesz używać stałych liczb całkowitych z inout
, ponieważ mogą one zostać zmienione. Musisz również przekazać parametr do doubleInPlace
używając ampersandu, &
, przed jego nazwą, co jest wyraźnym uznaniem, że jesteś świadomy, że jest on używany jako inout
.
W kodzie napisałbyś to:
var myNum = 10 doubleInPlace(number: &myNum)
SPONSOROWANE Budowanie i utrzymywanie infrastruktury subskrypcji in-app jest trudne. Na szczęście jest na to lepszy sposób. Dzięki RevenueCat możesz wdrożyć subskrypcje dla swojej aplikacji w ciągu kilku godzin, a nie miesięcy, więc możesz wrócić do budowania aplikacji.
Wypróbuj za darmo
Sponsoruj Hacking with Swift i dotrzyj do największej na świecie społeczności Swift!