Nazwane wartości zwracane
Część sekcji Podstawy ścieżki GO w Coddy. Lekcja 57 z 109.
W Go możesz nadawać nazwy wartościom zwracanym w deklaracjach funkcji. Dzięki temu Twój kod jest bardziej czytelny i możesz zwracać wartości, używając po prostu zwykłej instrukcji return.
Utwórz funkcję z nazwanymi wartościami zwracanymi:
func divide(a, b int) (quotient int, remainder int) {
quotient = a / b
remainder = a % b
return // "naked" zwrot
}
func main() {
q, r := divide(7, 3)
fmt.Println("7 ÷ 3 =", q, "with remainder", r)
}Wynik jest taki sam jak poprzednio:
7 ÷ 3 = 2 with remainder 1Nazwane wartości zwracane są inicjalizowane wartościami zerowymi i można przypisywać im wartości bezpośrednio w treści funkcji.
Wyzwanie
PoczątkującyW tym wyzwaniu poćwiczysz używanie nazwanych wartości zwracanych w funkcjach Go.
Uzupełnij funkcję getPersonInfo, która zwraca imię i nazwisko, wiek oraz informację, czy dana osoba jest uczniem. Funkcja ma już nazwane parametry zwracane, ale musisz przypisać im wartości.
Funkcja powinna zwracać z góry określone wartości dla osoby o imieniu „Alex”, która ma 25 lat i jest uczniem.
Spróbuj swoich sił
package main
import "fmt"
// Ta funkcja używa nazwanych wartości zwracanych
func getPersonInfo() (name string, age int, isStudent bool) {
// TODO: Przypisz wartości do nazwanych zmiennych zwracanych
// name powinno mieć wartość "Alex"
// age powinno mieć wartość 25
// isStudent powinno mieć wartość true
// Instrukcja "return" bez argumentów zwróci nazwane wartości zwracane
return
}
func main() {
name, age, isStudent := getPersonInfo()
fmt.Printf("Name: %s\nAge: %d\nStudent: %t\n", name, age, isStudent)
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory porównania i logiczne
Operatory porównania – część 1Operatory porównania – część 2Logiczny operator ANDLogiczny operator ORLogiczny operator NOTPodstawy kolejności wykonywania operatorówPodsumowanie – porównywanie7Sterowanie przepływem: pętle
Jak działa pętla `for`Pętla `for` — podstawyPętla `for` — tylko warunekSłowo kluczowe `break`Słowo kluczowe `continue`Pętle zagnieżdżonePodsumowanie — powtarzanie działań2Zmienne i podstawowe typy danych
Czym jest zmiennaWnioskowanie o typie za pomocą `:=`Liczby całkowite (int)Liczby zmiennoprzecinkoweWartości logiczneCiągi znakówWartości zeroweStałeKonwencje nazewnictwaPodsumowanie – zmienne i typy5Podstawowe wejście/wyjście
Formatowane wyjścieSpecyfikatory formatuWyświetlanie typówPobieranie podstawowych danych od użytkownikaPodsumowanie — wejście i wyjście8Funkcje
Zrozumienie funkcjiDeklarowanie funkcjiWywoływanie funkcjiParametry funkcjiZwracanie jednej wartościZwracanie wielu wartościNazwane wartości zwracanePodstawy zakresu funkcjiPodsumowanie — tworzenie wielokrotnego użytku kodu11Typy złożone: wycinki
Wprowadzenie do wycinkówDeklarowanie literałów wycinkówTworzenie wycinków za pomocą `make`Długość a pojemność wycinkaDostęp do elementów wycinkaDodawanie elementówWycinanie z istniejących wycinków i tablicIterowanie po wycinkachKopiowanie wycinkówPodsumowanie — listy dynamiczne3Podstawowe operatory
Operatory arytmetyczneOperator dzieleniaOperator moduloOperator przypisaniaOperatory przypisania z działaniemZwiększanie i zmniejszaniePowtórka – obliczenia6Sterowanie przepływem: instrukcje warunkowe
Instrukcja `if`Słowo kluczowe `else`Słowo kluczowe `else if`Przesłanianie zmiennych w `if`Inicjalizacja zmiennychInstrukcja `switch``switch` z wyrażeniami`switch` bez wyrażeniaSłowo kluczowe `fallthrough`Podsumowanie — podejmowanie decyzjiPoćwicz samodzielnie: Kompilator Go online