Co to jest funkcja?
Zanim przejdziemy do szczegółów tworzenia i używania funkcji, rozbijmy to, czym jest funkcja i dlaczego jej używać.
Funkcja to nic więcej niż jeden lub więcej bloku kodu, który jest zgrupowany i wykonuje jedną jednostkę. Funkcje są ciężką funkcją w większości języków programowania, ponieważ pozwalają nam organizować i eksportować kod do innych części programu w czytelnym wzorze.
Do tej pory natknąłeś się na główną funkcję w języku rdzy. Główną funkcją jest specjalny rodzaj funkcji, który służy jako punkt wejścia dla programu rdzy.
Z tego powodu omówmy, jak tworzyć i używać funkcji w rdzy.
Funkcje rdzy
Poniżej znajdują się kroki, które należy podjąć przy określaniu funkcji w rdzy.
Możemy wyrazić powyższy kod w składni pokazanej poniżej:
fnfunction_name (parametry)Najbardziej podstawowym typem funkcji jest taki, który nie akceptuje żadnych parametrów ani nie zawiera wartości zwracanej. Możemy zdefiniować taką funkcję, jak pokazano w poniższym przykładzie:
fn say_hello ()Powyższe ilustruje najbardziej podstawową koncepcję definicji funkcji. Zaczynamy od słowa kluczowego FN, a następnie nazwy funkcji, w naszym przypadku Say_Hello (). Następnie otwieramy ciało funkcyjne w parie kręconych aparatów ortodontycznych.
Ciało funkcji zawiera tylko logikę tego, co robi funkcja. Czasami funkcja wywołuje inne funkcje i używa ich.
Wywołując funkcję
Po ogłoszeniu funkcji możemy jej użyć do wykonywania zdefiniowanych działań. Odwołujemy się do procesu używania funkcji jako wywołania funkcji lub wywoływania funkcji.
W rdzy nazywamy funkcją, podając jej nazwę i parę nawiasów. To mówi kompilatorowi, że chcemy wykonać instrukcje zdefiniowane w tej funkcji.
W naszym przykładzie możemy wywołać naszą funkcję wewnątrz głównej funkcji, jak pokazano w poniższym przykładzie:
fn main ()Parametry funkcji
Jednym z głównych powodów korzystania z funkcji jest przekazanie parametrów. Parametr jest specjalnym typem zmiennej, którą możemy przekazać funkcję i umożliwić modyfikację logiki, której używa funkcja.
Często możesz usłyszeć terminy Parametr i argument użyte zamiennie. Chociaż mają różnicę, tak naprawdę nie ma cię powstrzymać przed budowaniem narzędzi z rdzą.
Aby zdefiniować zestaw parametrów funkcji, zaczynamy od zdefiniowania nazwy parametru, a następnie jego typu w nawiasach funkcyjnych.
Składnia jest jak pokazana:
fn funkcja_nazwa (parametr1: data_type)Uwaga należy wykonać adnotację typu dla parametru funkcji.
Weźmy funkcję Say_Hello, którą zdefiniowaliśmy wcześniej i poprawmy ją, aby przywitać się z konkretnym użytkownikiem.
Możemy zrobić:
fn say_hello (name: & str)W powyższym przykładzie definiujemy parametr dla funkcji say_hello typu i str. Możemy teraz przekazać nazwę do funkcji, która przywita nas podaną nazwą.
Aby przekazać parametr podczas wywołania funkcji, możemy zrobić:
fn main ()Instrukcja funkcji i wyrażenie
Jak wspomniano, ciało funkcyjne zawiera instrukcje kodu, które wykonują akcję. W naszym przykładzie użyliśmy zdefiniowanego makra do wydrukowania czegoś na ekranie. Możemy jednak stworzyć niestandardową logikę dla naszych funkcji.
Na przykład weź poniższą funkcję, która wymaga dwóch liczb całkowitych i zwróć maksimum z tych dwóch:
fnmaximum (x: i32, y: i32)Następnie możemy wywołać funkcję i przekazać dwie wartości liczb całkowitych, jak pokazano poniżej:
fn main ()Uruchamianie powyższego kodu powinno wydrukować:
Maksymalna wartość to: 100Funkcja zwraca wartości
Funkcja może również zwrócić wartość oparta na wykonanej logice i działaniach. Następnie możemy użyć wartości zwróconej z funkcji do wykonywania innych operacji. Chociaż nie nazywamy wartości zwracanej w funkcji, musimy powiedzieć kompilatorowi, że oczekujemy, że funkcja zwróci wartość określonego typu.
Robimy to za pomocą notacji strzałki ->.
Weź funkcję maksymalną (), którą zdefiniowaliśmy wcześniej. Zamiast drukować wartość maksymalną, możemy mieć funkcję zwróconą wartość maksymalną i możemy ją użyć do działania w innych częściach programu.
Aby zdefiniować typ zwrotu funkcji, możemy użyć składni jako:
Fn funkcja_nazwa (parametr: type) -> return_typeRozważ poniższy przykład, który ponownie zdefiniuje maksymalną funkcję, aby uwzględnić wartość zwracaną:
Fn Maximum (x: i32, y: i32) -> i32W takim przypadku oczekujemy, że funkcja zwróci typ i32.
Po zdefiniowaniu typu zwrotu funkcji musimy upewnić się, że funkcja rzeczywiście coś zwróci.
Możemy to zrobić za pomocą słowa kluczowego powrotu. Na przykład, aby zwrócić maksymalną wartość z powyższej funkcji, możemy zrobić:
fnmaximum (x: i32, y: i32) -> i32Funkcja powinna zwrócić wartość zmiennej maksymalnej.
Kolejnym formatem, którego możemy użyć do zwrócenia wartości z funkcji, jest określenie wartości zwracania bez końcowego terminatora.
Przykładem jest jak pokazano:
fnmain ()Powyższy przykład powinien zachowywać się podobnie do słowa kluczowego powrotu.
Następnie możemy użyć wartości zwróconej z funkcji, aby wykonać akcję. Na przykład:
fn main ()Tutaj przyjmujemy wartość zwróconą z maksymalnej funkcji i mnożymy ją przez 2.
W zamknięciu
W tym samouczku zbadaliśmy koncepcję funkcji, jak zdefiniować funkcję, parametry funkcji, wartości zwracania funkcji i więcej. Funkcje są ważną koncepcją w programowaniu i pozwalają nam organizować i ponownie używać kodu bez powtórzenia.
Mamy nadzieję, że podobał Ci się samouczek.
Na razie!