<h1>Parametry funkcji w Dart<br />
<h2>Required<br />
'Dart parameters', tj. parametry funkcji... Nic ciekawego, co? Nic bardziej mylnego!<br />
No, chyba że mówimy o pierwszym rodzaju, czyli ‚required’ - jest to najzwyklejszy rodzaj parametru, który na pewno znasz z innych języków.<p>
<pre><code>void func(int i, int j) {}
<p dir="auto">Wywołując powyższą metodę, musisz podać i oraz j.<br />
<h2>Positional & Optional<br />
Tu się zaczyna robić ciekawiej. Spójrz na deklarację metody:<p>
<pre><code>void func([String name]) {}
<p dir="auto">Wywołując ją, możesz, ale nie musisz podać wartości ,name’. Jeśli jej nie podasz, zostanie jej przypisany domyślnie ‚null’.
<pre><code>void func([String name = 'Dawid']) {}
<p dir="auto">Teraz gdy wywołasz funkcję ‚func’ bez podania ‚name’, nie zostanie jej przypisany ‚null’, ale tekst ‚Dawid’.
<p dir="auto">Można mieć kilka parametrów typu ‚positional’:
<pre><code>void func([String name = 'Dawid', int year]) {}
<p dir="auto">‚name’ i ‚year’ są tu opcjonalne, ale jeśli chcesz podać ‚year’ to musisz podać również ‚name’ - kolejność ma znaczenie!
<pre><code>func('Tomek', 2020); // Poprawne użycie
func(2020); // Niepoprawne użycie
<p dir="auto">Parametry ‚required’ i ‚positional’ mogą występować razem, o ile ‚required’ znajdą się przed ‚positional’
<pre><code>void func(String surname, [String name = 'Dawid', int year]) {}
<p dir="auto"><h2>Named parameters<br />
Teraz moje ulubione. Masowo wykorzystywane przez widgety Flutter.<p>
<pre><code>void func({String name, String surname}) {}
<p dir="auto">W tym przypadku oba parametry są opcjonalne z domyślną wartością ‚null’. Magia dzieje się jednak przy wywoływaniu metody:
<pre><code>func(
name: 'Dawid',
surname: 'Wnukowski',
// Mały tip: przy ostatnim parametrze można dopisać ','
// i dzięki temu wymusić dodanie nowej lini przy formatowaniu
);
<p dir="auto">Czy to nie jest piękne!? To znaczy czytelne?
<p dir="auto">Parametry ‚named’ również można łączyć z ‚required’ oraz przypisywać im domyślne wartości, na tej samej zasadzie co w ‚optional’. Przykładzik:
<pre><code>void func(int currentYear, {String name, String surname = 'Abc'}) {}
func(2020, name: 'Robert');
<p dir="auto">W tym przypadku, wartości zmiennych będą następujące:<br />
year -> 2020<br />
name -> Robert<br />
surname -> Abc
<p dir="auto">To by było na tyle. Artykuł ten znajdziesz na mojej stronie, gdzie dodatkowo dowiesz się o adnotacji required używanej we Flutterze:<br /><span>
<a href="https://dawidwnukowski.pl/dart-parameters-required-positional-optional-named-functions/" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://dawidwnukowski.pl/dart-parameters-required-positional-optional-named-functions/
- Użytkownicy sieci nie lubią plagiatów, oszustw, promowania piramid finansowych i obrażania innych. Warto mieć to na uwadze publikując wpis.
- Jeśli wpis zawiera duże dawki wulgaryzmów, pornografii i treści dla dorosłych, rozważ użycie tagu nsfw.
- Uważaj na oszustwa! Różne osoby mogą próbować wyciągnąć od Ciebie tokeny lub delegacje (prośby, klikanie w linki, próby przejęcia Twojego hasła do konta). W razie wątpliwości wejdź na Chat Polskiej społeczności i zapytaj o zaistniałą sytuację.
- Chat Steemit Polska to otwarty chat całej polskiej społeczności. Kliknij w ten link aby go uruchomić. Chat nie jest zintegrowany ze Steem - zakładasz tam zwykłe konto, podobnie jak w wielu usługach sieciowych. Wygodnie jest jednak użyć takiego samego nicka jak na Steem.
- Zachęcamy Cię do odwiedzenia FAQ na steemweb.pl, gdzie możesz dowiedzieć się mnóstwa rzeczy związanych ze Steemem. Jest to wybór najlepszych poradników stworzonych przez doświadczonych użytkowników platformy.
- Szukasz Steemowego Savoir Vivre? Proszę, to dla Ciebie!
- Nie wiesz jakich tagów użyć do wpisu? Zajrzyj na listę tagów lub wybierz coś z drzewa tagów.. Odpowiednie tagi zwiększą zasięg twoich postów i nagrody z nich!
- Nie podoba ci się interfejs? Zobacz Steemit, Busy, Steempeak, Steemd.
- Zapisz hasło w bezpiecznych miejscach! Jeśli je utracisz, to nigdy już nie odzyskasz konta!
Baw się dobrze!
Bążur @vuko!Witamy na #polish, czyli polskim tagu Steem! Moim zadaniem jest wprowadzenie Cię w tajniki sieci.Congratulations @vuko! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
<table><tr><td><img src="https://images.hive.blog/768x0/https://steemitimages.com/60x60/http://steemitboard.com/img/notifications/firstvoted.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/60x60/http://steemitboard.com/img/notifications/firstvoted.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/60x60/http://steemitboard.com/img/notifications/firstvoted.png 2x" /><td>You got a First Vote <p dir="auto"><sub><em>You can view <a href="https://steemitboard.com/@vuko" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">your badges on your Steem Board and compare to others on the <a href="https://steemitboard.com/ranking/index.php?name=vuko" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Steem Ranking<br /> <sub><em>If you no longer want to receive notifications, reply to this comment with the word <code>STOP <h6><a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Vote for @Steemitboard as a witness to get one more award and increased upvotes!O tu się możesz przydać :)
https://steempeak.com/c/hive-169321/created
Dzięki, zobaczę później co i jak ;)
Your post was mentioned in the Steem Hit Parade for newcomers in the following category:Congratulations @vuko!