Jak działa operator return i jakie są ograniczenia podczas korzystania z niego w języku Go?
sobes.tech AI
Odpowiedź od AI
W języku Go operator return służy do opuszczenia funkcji i zwrócenia wartości (jeśli funkcja coś zwraca). Kończy wykonywanie bieżącej funkcji i przekazuje kontrolę do kodu wywołującego.
Cechy i ograniczenia return w Go:
- Można zwracać wiele wartości, na przykład:
func divide(a, b int) (int, error) {
if b == 0 {
return 0, fmt.Errorf("dzielenie przez zero")
}
return a / b, nil
}
-
Jeśli funkcja jest zadeklarowana z nazwanymi wartościami zwracanymi, można użyć
returnbez argumentów, wtedy zwrócone zostaną aktualne wartości tych zmiennych. -
returnnie może być używany poza funkcją — jest to błąd składni. -
Po
returnżadny kod w funkcji nie jest wykonywany. -
W funkcjach defer można modyfikować nazwane wartości zwracane przed zwróceniem.
Przykład z nazwanymi wartościami zwracanymi:
func sumAndProduct(a, b int) (sum int, product int) {
sum = a + b
product = a * b
return // zwraca sum i product
}
Podsumowując, return w Go to prosty i potężny mechanizm wychodzenia z funkcji z możliwością zwracania wielu wartości.