Sobes.tech
Junior — Middle

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ć return bez argumentów, wtedy zwrócone zostaną aktualne wartości tych zmiennych.

  • return nie 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.