Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Valori di Ritorno dalle Funzioni | Funzioni
Introduzione a Golang

bookValori di Ritorno dalle Funzioni

La possibilità di passare dati alle funzioni è utile, ma è altrettanto vantaggioso recuperare dati dalle funzioni. Qui entra in gioco la parola chiave return.

La parola chiave return consente alle funzioni di restituire dati al punto del codice in cui sono state invocate. Ecco la sintassi per una funzione con un'istruzione return:

func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
      // Code
     
      return data_to_be_returned
}

data_to_be_returned indica dove specificare un'espressione o un valore. returned_datatype rappresenta il tipo di dato previsto per il valore che verrà restituito. Questo concetto sarà più chiaro attraverso un esempio.

Il programma seguente illustra l'implementazione di un'istruzione return tramite una funzione che calcola e restituisce sia la somma che il prodotto di due argomenti interi forniti:

index.go

index.go

copy
1234567891011121314
package main import "fmt" func myFunc(value_1 int, value_2 int) int { var sum int = value_1 + value_2 var prod int = value_1 * value_2 var result int = sum + prod return result } func main() { fmt.Println(myFunc(5, 7)) }

Si noti che all'interno della funzione Println abbiamo myFunc(5, 7), e il programma sopra produce l'output 47, che deriva dai calcoli eseguiti dalla funzione myFunc(). Questo dimostra che l'istruzione return restituisce dati specifici al punto in cui la funzione è stata invocata. Inoltre, è possibile memorizzare i dati restituiti in una variabile:

index.go

index.go

copy
12
var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'

Nota

Una funzione non richiede parametri per includere un'istruzione return.

Una funzione non può contenere alcun codice dopo un'istruzione return e, generalmente, Go non consente più istruzioni return:

index.go

index.go

copy
1234567891011
// Function exits after the first return statement it encounters func exampleOne() int { return 1 return 2 // Will be ignored } // There cannot be any code after a return statement func exampleTwo() int { return 1 fmt.Println() // Error here }

Tuttavia, è possibile utilizzare l'istruzione return all'interno di strutture condizionali per restituire selettivamente dei valori:

index.go

index.go

copy
123456789101112131415
package main import "fmt" func myFunc() string { if(1 > 2) { return "1 is greater than 2" } else { return "2 is greater than 1" } } func main() { fmt.Println(myFunc()) }
question mark

Quale sarà l'output del seguente programma?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 1.96

bookValori di Ritorno dalle Funzioni

Scorri per mostrare il menu

La possibilità di passare dati alle funzioni è utile, ma è altrettanto vantaggioso recuperare dati dalle funzioni. Qui entra in gioco la parola chiave return.

La parola chiave return consente alle funzioni di restituire dati al punto del codice in cui sono state invocate. Ecco la sintassi per una funzione con un'istruzione return:

func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
      // Code
     
      return data_to_be_returned
}

data_to_be_returned indica dove specificare un'espressione o un valore. returned_datatype rappresenta il tipo di dato previsto per il valore che verrà restituito. Questo concetto sarà più chiaro attraverso un esempio.

Il programma seguente illustra l'implementazione di un'istruzione return tramite una funzione che calcola e restituisce sia la somma che il prodotto di due argomenti interi forniti:

index.go

index.go

copy
1234567891011121314
package main import "fmt" func myFunc(value_1 int, value_2 int) int { var sum int = value_1 + value_2 var prod int = value_1 * value_2 var result int = sum + prod return result } func main() { fmt.Println(myFunc(5, 7)) }

Si noti che all'interno della funzione Println abbiamo myFunc(5, 7), e il programma sopra produce l'output 47, che deriva dai calcoli eseguiti dalla funzione myFunc(). Questo dimostra che l'istruzione return restituisce dati specifici al punto in cui la funzione è stata invocata. Inoltre, è possibile memorizzare i dati restituiti in una variabile:

index.go

index.go

copy
12
var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'

Nota

Una funzione non richiede parametri per includere un'istruzione return.

Una funzione non può contenere alcun codice dopo un'istruzione return e, generalmente, Go non consente più istruzioni return:

index.go

index.go

copy
1234567891011
// Function exits after the first return statement it encounters func exampleOne() int { return 1 return 2 // Will be ignored } // There cannot be any code after a return statement func exampleTwo() int { return 1 fmt.Println() // Error here }

Tuttavia, è possibile utilizzare l'istruzione return all'interno di strutture condizionali per restituire selettivamente dei valori:

index.go

index.go

copy
123456789101112131415
package main import "fmt" func myFunc() string { if(1 > 2) { return "1 is greater than 2" } else { return "2 is greater than 1" } } func main() { fmt.Println(myFunc()) }
question mark

Quale sarà l'output del seguente programma?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4
some-alt