Menu
Coddy logo textTech

Zwracanie wielu wartości

Część sekcji Podstawy ścieżki GO w Coddy. Lekcja 56 z 109.

Funkcje Go mogą zwracać wiele wartości naraz, co jest niezwykle przydatne, gdy chcesz zwracać zarówno wyniki, jak i informacje o błędach.

Utwórz funkcję, która zwraca zarówno iloraz, jak i resztę:

func divide(a, b int) (int, int) {
    quotient := a / b
    remainder := a % b
    return quotient, remainder
}

func main() {
    q, r := divide(7, 3)
    fmt.Println("7 ÷ 3 =", q, "with remainder", r)
}

Po uruchomieniu tego programu otrzymasz:

7 ÷ 3 = 2 with remainder 1

Funkcja zwraca dwie wartości oddzielone przecinkami, a my przechwytujemy obie wartości za pomocą wielu zmiennych w przypisaniu.

Jeśli potrzebujesz tylko niektórych zwracanych wartości, możesz użyć pustego identyfikatora _, aby zignorować te, których nie potrzebujesz:

q, _ := divide(7, 3)  // zignoruj resztę
fmt.Println("Quotient:", q)

Użycie _ informuje Go, że ma odrzucić tę zwracaną wartość. Jest to wymagane, gdy nie używasz wartości, ponieważ Go nie zezwala na nieużywane zmienne.

challenge icon

Wyzwanie

Początkujący

W tym wyzwaniu poćwiczysz zwracanie wielu wartości z funkcji w Go.

Mamy funkcję o nazwie getPersonInfo, która powinna zwracać imię i nazwisko, wiek oraz informację o tym, czy dana osoba jest studentem. Twoim zadaniem jest uzupełnienie funkcji przez dodanie odpowiedniej instrukcji return.

Spróbuj swoich sił

package main

import "fmt"

// Ta funkcja powinna zwracać trzy wartości: name, age i isStudent
func getPersonInfo() (string, int, bool) {
	// Zmienne są już zdefiniowane
	name := "Alex"
	age := 25
	isStudent := true
	
	// TODO: Zwróć wszystkie trzy wartości (name, age, isStudent)
	
}

func main() {
	// Wywołaj funkcję i zapisz zwrócone wartości
	name, age, isStudent := getPersonInfo()
	
	// Wypisz wartości
	fmt.Printf("Name: %s\n", name)
	fmt.Printf("Age: %d\n", age)
	fmt.Printf("Is Student: %t\n", isStudent)
}
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: Kompilator Go online