English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base di Golang

Istruzioni di controllo di Golang

Funzione e metodo di Golang

Struttura di Golang

Tagli e array di Golang

Stringa (String) di Golang

Puntatore di Golang

Interfaccia di Golang

Concordanza di Golang

Eccezioni (Error) di Golang

Articoli vari di Golang

Funzione Go che restituisce più valori

In Go, è permesso utilizzare l'istruzione return per ritornare più valori da unafunzioneRitorna più valori. In altre parole, all'interno della funzione, una singola istruzione return può ritornare più valori. Il tipo dei valori di ritorno è simile al tipo dei parametri definiti nella lista dei parametri.

Sintassi:

func function_name(parameter_list)(return_type_list){
     // code...
}

Ecco,

  • function_name:Èfunzionedel nome.

  • parameter-list:Essa contiene il nome e il tipo dei parametri della funzione.

  • return_type_list:Questo è opzionale e contiene il tipo di valore restituito dalla funzione. Se si utilizza return_type nella funzione, deve essere utilizzato anche il comando return.

package main
import "fmt"
// myfunc restituisce 3 valori di tipo int
func myfunc(p, q int) (int, int, int) {
    return p - q, p * q, p + q
}
func main() {
    // Assegnare i valori di ritorno a, tre variabili diverse
    var myvar1, myvar2, myvar3 = myfunc(4, 2)
    // Visualizzare il valore
    fmt.Printf("Il risultato è: %d", myvar1)
    fmt.Printf("\nIl risultato è: %d", myvar2)
    fmt.Printf("\nIl risultato è: %d", myvar3)
}

Output:

Il risultato è: 2
Il risultato è: 8
Il risultato è: 6

Assegnare un nome ai valori di ritorno

In Go, è consentito assegnare nomi ai valori di ritorno. Puoi anche utilizzare questi nomi nei tuoi codici. Non è necessario scrivere questi nomi con la frase return, perché il compilatore Go capisce automaticamente che questi valori devono essere restituiti. Questo tipo di restituzione è chiamato restituzione nuda. La restituzione semplice riduce la ripetizione nel codice.

Sintassi:

func function_name(para1, para2 int)(name1 int, name2 int){
    // code...
}
o
func function_name(para1, para2 int)(name1, name2 int){
   // code...
}

Ecco,name1ename2Il nome del valore di ritorno è, mentre para1 e para2 sono i parametri della funzione.

package main
import "fmt"
// myfunc restituisce 2 valori di tipo int
// Ecco il nome del valore di ritorno
// È rectangle and square
func myfunc(p, q int) (rectangle int, square int) {
    rectangle = p * q
    square = p * p
    return
}
func main() {
    // Assegnare i valori di ritorno a
    // Due variabili diverse
    var area1, area2 = myfunc(2, 4)
    fmt.Printf("L'area del rettangolo è: %d", area1)
    fmt.Printf("\nL'area del quadrato è: %d", area2)
}

Output:

L'area del rettangolo è: 8
L'area quadrata è: 4