Zwracanie jednej wartości
Część sekcji Podstawy ścieżki GO w Coddy. Lekcja 55 z 109.
Funkcje mogą zwracać wartości do kodu, który je wywołał. Dzięki temu funkcje mogą obliczać wyniki i je zwracać.
Aby utworzyć funkcję, która zwraca wartość, dodaj typ zwracany po liście parametrów:
func multiply(x int, y int) int {
result := x * y
return result
}
func main() {
product := multiply(4, 5)
fmt.Println("4 × 5 =", product)
}Po uruchomieniu tego programu wyświetla się:
4 × 5 = 20Słowo kluczowe return przekazuje wartość z powrotem do miejsca, w którym wywołano funkcję, a zwróconą wartość można zapisać w zmiennej.
Wyzwanie
PoczątkującyW tym wyzwaniu poćwiczysz tworzenie funkcji, która zwraca pojedynczą wartość. Musisz uzupełnić funkcję getGreeting, która zwraca powitanie zależne od pory dnia.
Funkcja powinna zwracać "Good morning", jeśli godzina jest wcześniejsza niż 12, "Good afternoon", jeśli godzina mieści się w przedziale od 12 do 17 (włącznie), oraz "Good evening" w pozostałych przypadkach.
Spróbuj swoich sił
package main
import "fmt"
// getGreeting zwraca powitanie zależne od pory dnia
func getGreeting(hour int) string {
// TODO: Zwróć "Good morning", jeśli hour jest mniejsze niż 12
// TODO: Zwróć "Good afternoon", jeśli hour mieści się w przedziale od 12 do 17 (włącznie)
// TODO: Zwróć "Good evening" dla wszystkich pozostałych godzin
// Twój kod tutaj
}
func main() {
// Przetestuj funkcję dla różnych godzin
morningHour := 8
afternoonHour := 15
eveningHour := 20
fmt.Println("At", morningHour, "hours:", getGreeting(morningHour))
fmt.Println("At", afternoonHour, "hours:", getGreeting(afternoonHour))
fmt.Println("At", eveningHour, "hours:", getGreeting(eveningHour))
}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