inout parameters

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)
Hacking with Swift is sponsored by RevenueCat

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!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.