W tym artykule dowiesz się wszystkiego o funkcjach, czym jest funkcja, składnia, typy w języku Swift wraz z przykładami.
Co to jest funkcja?
Funkcja to grupa instrukcji, które definiują czynność do wykonania. Głównym zastosowaniem funkcji jest umożliwienie ponownego wykorzystania kodu.
Nie technicznie możesz myśleć o funkcji jak o maszynie. Maszyna wykonuje określone zadanie, prosi o dane wejściowe, przetwarza dane wejściowe i zwraca dane wyjściowe.
Rodzaje funkcji
W zależności od tego, czy funkcja jest predefiniowana czy stworzona przez programistę; istnieją dwa rodzaje funkcji:
- Funkcje biblioteczne - funkcje, które są już zdefiniowane w Swift Framework.
- Funkcje zdefiniowane przez użytkownika - funkcje tworzone przez samego programistę.
Funkcje biblioteki
Funkcje biblioteczne to funkcje wbudowane, które są już zdefiniowane w środowisku Swift. Te funkcje służą do rozwiązywania typowych problemów w Swift, dzięki czemu nie musisz samodzielnie ich rozwiązywać. Są to proste operacje, takie jak drukowanie, znajdowanie minimum i maksimum itp.
Możesz użyć funkcji biblioteki bezpośrednio, wywołując ją (wywołując). Jeśli chcesz, możesz zobaczyć wszystkie funkcje we frameworku Swift. Po prostu napisz import Swift, naciśnij Cmd i kliknij go. Przejdziesz do nowej strony. Wyszukaj wszystkie stwierdzenia zaczynające się od func
słowa kluczowego.
Przykład 1: Biblioteka lub wbudowana funkcja
print("Hello, World!")
Po uruchomieniu powyższego programu wynik będzie:
Witaj świecie!
W powyższym programie wywołaliśmy wbudowaną print
funkcję zdefiniowaną w Swift Framework. Funkcja służy do drukowania danych wyjściowych w konsoli.
Jesteśmy w stanie wywołać print()
funkcję, ponieważ framework Swift jest automatycznie importowany do naszego Playground. W przeciwnym razie powinniśmy sami go zaimportować, pisząc import Swift
.
Funkcje zdefiniowane przez użytkownika
Swift umożliwia także zdefiniowanie własnej funkcji. Stworzenie własnej funkcji pomaga pisać kod do rozwiązywania problemów lub wykonywania zadań niedostępnych w Swift Framework. Możesz także ponownie wykorzystać swoją funkcję do wykonywania podobnych zadań w przyszłości.
Podobnie funkcje można również kategoryzować na podstawie parametrów i instrukcji powrotu. Zobacz artykuł Typy parametrów funkcji Swift i typy zwrotów.
Definiowanie funkcji
func nazwa_funkcji (argumenty…) -> ReturnType (// instrukcje zwracają wartość)
Krótko opiszmy poszczególne komponenty:
func
to słowo kluczowe, które musisz napisać, aby utworzyć funkcjęfunction_name
to nazwa funkcji. Możesz nadać mu dowolną nazwę, która definiuje, co robi funkcja.args…
definiuje dane wejściowe, które funkcja przyjmuje.->
Ten operator służy do wskazywania zwracanego typu funkcji.ReturnType
definiuje typ wartości, którą można zwrócić z funkcji. Na przykładInt
,String
itd.return
słowo kluczowe służy do przekazywania kontroli nad programem do wywołania funkcji, a także do zwracania wartości z funkcji.
Nawet jeśli nie określisz słowa kluczowego return, funkcja zwraca automatycznie po wykonaniu ostatniej instrukcji.value
reprezentuje rzeczywiste dane zwracane przez funkcję. Typ wartości musi być zgodny zReturnType
.
Jak działa funkcja?
Na powyższym diagramie instrukcja function_name(args)
wywołuje / wywołuje funkcję z wartościami argumentów args, która następnie opuszcza bieżącą sekcję kodu (tj. Przestaje wykonywać instrukcje poniżej) i rozpoczyna wykonywanie pierwszej linii wewnątrz funkcji.
- Program przechodzi do wiersza kodu
func function_name(Args… )
i akceptuje wartości argumentów przekazane podczas wywołania funkcjifunction_name(args)
. - Następnie program wykonuje instrukcje
statementsInsideFunction
zdefiniowane w funkcji. - Instrukcje wewnątrz funkcji są wykonywane w kolejności od góry do dołu, jedna po drugiej.
- Po wykonaniu ostatniej instrukcji program opuszcza funkcję i wraca do miejsca, z którego zaczął, tj
function_name(args)
. let val =
przechowuje wartość zwróconą przez funkcję w stałej val. Podobnie możesz przechowywać w zmiennej jakovar val =
.- Następnie
statementsOutsideFunction
wykonywane są instrukcje .
Przykład 2: Jak zdefiniować funkcję w Swift?
func greet(user:String) ( print("Good Morning! (user)") )
Powyżej pokazano definicję funkcji, która składa się z następujących komponentów:
- Słowo kluczowe
func
oznacza początek nagłówka funkcji. greet
to nazwa funkcji służąca do jednoznacznej identyfikacji i wywoływania funkcji w programie.(user:String)
oznacza koniec nagłówka funkcji i przyjmuje parametr typuString
. Zobacz artykuł Typy parametrów funkcji Swift i typy zwracane, który definiuje funkcję z parametrami.- Funkcja składa się z
print
instrukcji wewnątrz ciała, która jest wykonywana po wywołaniu funkcji.
Wywołanie funkcji
Po utworzeniu funkcji możesz wywołać ją w swoim programie, aby wykonać instrukcje zadeklarowane wewnątrz funkcji. Aby wywołać funkcję, po prostu wpisz nazwę funkcji, a po niej () i przekaż jej parametry wejściowe jako:
witaj (użytkownik: "Isac")
Przykład 3: Wywołanie funkcji w języku Swift
func greet(user:String) ( print("Good Morning! (user)") ) greet(user: "Isac")
Po uruchomieniu powyższego programu wynik będzie:
Dzień dobry! Isac
W powyższym kodzie greet(user: "Isac")
wywołuje funkcję i przekazuje wartość Isac
typu String
. Następnie wykonywana jest print
instrukcja wewnątrz funkcji.
Instrukcja zwrotu
Słowo kluczowe return nakazuje programowi opuszczenie funkcji i powrót do wiersza, w którym dokonano wywołania funkcji.
Możesz także przekazać wartość za pomocą return
słowa kluczowego, gdzie wartość jest zmienną lub inną informacją pochodzącą z funkcji.
Przykład 3: Funkcja ze słowem kluczowym return
func greet(user:String)-> String ( return "Good Morning! (user)" ) let greeting = greet(user: "Isac") print(""" You have a new message (greeting) """)
Po uruchomieniu powyższego programu wynik będzie:
Masz nową wiadomość Dzień dobry! Isac
W powyższym kodzie greet(user: "Isac")
wywołuje funkcję i przekazuje wartość Isac
typu String
. return "Good Morning! (user)"
instrukcja zwraca wartość typu String
i przenosi program do wywołania funkcji.
let greeting =
przechowuje wartość zwróconą przez funkcję. Po zakończeniu funkcji wykonywana jest print
instrukcja poniżej wywołania funkcji.
Rzeczy do zapamiętania
- Podaj nazwę funkcji, która odzwierciedla przeznaczenie funkcji.
- Funkcja powinna wykonywać tylko jedno zadanie. Jeśli funkcja wykonuje więcej niż jedno zadanie, podziel je na wiele funkcji.
- Spróbuj wcześnie pomyśleć i zgrupuj instrukcje wewnątrz funkcji, dzięki czemu kod jest wielokrotnego użytku i modułowy.