Menu
Coddy logo textTech

Etykiety argumentów

Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 54 z 86.

Swift pozwala kontrolować sposób odczytywania wywołań funkcji za pomocą etykiet argumentów. Etykieta argumentu to nazwa używana podczas wywoływania funkcji, a nazwa parametru to nazwa używana wewnątrz ciała funkcji.

Możesz określić oba, wpisując etykietę argumentu przed nazwą parametru:

func greet(to name: String) {
    print("Hello, \(name)!")
}

greet(to: "Alice")  // Wynik: Hello, Alice!

Tutaj to jest etykietą argumentu (używaną podczas wywołania), a name jest nazwą parametru (używaną wewnątrz funkcji). Dzięki temu wywołanie brzmi bardziej naturalnie: „greet to Alice”.

Czasami chcesz całkowicie pominąć etykietę, aby wywołania były bardziej przejrzyste. Użyj podkreślenia (_) jako etykiety argumentu:

func square(_ number: Int) -> Int {
    return number * number
}

print(square(5))  // Wynik: 25

Bez podkreślenia trzeba by napisać square(number: 5). Podkreślenie znosi ten wymóg, dzięki czemu wywołanie jest prostsze, gdy nazwa funkcji już jasno określa jej przeznaczenie.

challenge icon

Wyzwanie

Łatwy

Utwórz dwie funkcje, które demonstrują różne techniki używania etykiet argumentów:

Funkcja 1: send

  • Użyj etykiety argumentu message i nazwy parametru text (typ String)
  • Użyj etykiety argumentu to i nazwy parametru recipient (typ String)
  • Zwróć ciąg znaków w formacie: "Sending '[text]' to [recipient]"

Funkcja 2: double

  • Użyj podkreślenia _, aby pominąć etykietę argumentu
  • Nazwa parametru number (typ Int)
  • Zwróć liczbę pomnożoną przez 2

Po zdefiniowaniu obu funkcji wczytaj z wejścia dwa ciągi znaków i jedną liczbę całkowitą, a następnie wywołaj obie funkcje i wypisz wyniki w osobnych wierszach.

Otrzymasz następujące dane wejściowe:

  • Pierwszy wiersz: tekst wiadomości (np. "Hello")
  • Drugi wiersz: imię i nazwisko odbiorcy (np. "Alice")
  • Trzeci wiersz: liczba do podwojenia (np. "7")

Na przykład, jeśli dane wejściowe to "Hello", "Alice" i "7", wynikiem powinno być:

Sending 'Hello' to Alice
14

Spróbuj swoich sił

// Wczytaj dane wejściowe
let messageText = readLine()!
let recipientName = readLine()!
let numberToDouble = Int(readLine()!)!

// TODO: Napisz swój kod poniżej
// Zdefiniuj funkcję 'send' z etykietami argumentów 'message' i 'to'


// Zdefiniuj funkcję 'double' z pominiętą etykietą argumentu przy użyciu '_'


// Wywołaj obie funkcje i wypisz wyniki
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Swift