Sobes.tech
Junior — Middle

Come viene implementata la gestione degli errori nel linguaggio Go, in modo simile al meccanismo di eccezioni in altri linguaggi di programmazione?

sobes.tech AI

Risposta dell'AI

Nel linguaggio Go, la gestione degli errori è implementata tramite valori di ritorno, e non tramite eccezioni, come in molti altri linguaggi. Le funzioni e i metodi generalmente restituiscono due valori: il risultato e l'errore (error). Se l'errore non è nil, significa che si è verificato un errore e deve essere gestito.

Esempio di gestione degli errori in Go:

package main

import (
    "errors"
    "fmt"
)

func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, errors.New("divisione per zero")
    }
    return a / b, nil
}

func main() {
    result, err := divide(10, 0)
    if err != nil {
        fmt.Println("Errore:", err)
        return
    }
    fmt.Println("Risultato:", result)
}

In questo modo, in Go non esiste la struttura try-catch; invece, gli errori vengono trasmessi e verificati esplicitamente, favorendo una gestione degli errori più chiara e controllata.