Sobes.tech
Junior — Middle

Kako funkcioniše operator return i koja su ograničenja pri njegovoj upotrebi u jeziku Go?

sobes.tech АИ

Одговор од АИ

U jeziku Go operator return se koristi za izlazak iz funkcije i vraćanje vrednosti (ako funkcija nešto vraća). On završava izvršenje trenutne funkcije i prenosi kontrolu na kod koji je pozvao.

Karakteristike i ograničenja return u Go:

  • Može se vratiti više vrednosti, na primer:
func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, fmt.Errorf("deljenje nulom")
    }
    return a / b, nil
}
  • Ako je funkcija deklarisana sa imenovanim vrednostima povratka, može se koristiti return bez argumenata, i biće vraćene trenutne vrednosti tih promenljivih.

  • return se ne može koristiti van funkcije — to je sintaksna greška.

  • Nakon return, u funkciji se ne izvršava nikakav kod.

  • U funkcijama defer, moguće je modifikovati imenovane vrednosti povratka pre povratka.

Primer sa imenovanim vrednostima povratka:

func sumAndProduct(a, b int) (sum int, product int) {
    sum = a + b
    product = a * b
    return // vraća sum i product
}

Dakle, return u Go je jednostavan i moćan mehanizam za izlazak iz funkcije sa mogućnošću vraćanja više vrednosti.