Menu
Coddy logo textTech

Restituire più valori

Fa parte della sezione Fondamenti del percorso GO di Coddy. Lezione 56 di 109.

Le funzioni Go possono restituire più valori contemporaneamente, il che è estremamente utile per restituire sia i risultati sia le informazioni sugli errori.

Crea una funzione che restituisca sia il quoziente sia il resto:

func divide(a, b int) (int, int) {
    quotient := a / b
    remainder := a % b
    return quotient, remainder
}

func main() {
    q, r := divide(7, 3)
    fmt.Println("7 ÷ 3 =", q, "with remainder", r)
}

Quando esegui questo programma, produce:

7 ÷ 3 = 2 with remainder 1

La funzione restituisce due valori separati da virgole e li acquisisci entrambi usando più variabili nell'assegnazione.

Se ti servono solo alcuni dei valori restituiti, puoi usare l'identificatore vuoto _ per ignorare quelli che non ti servono:

q, _ := divide(7, 3)  // ignora il resto
fmt.Println("Quotient:", q)

Usare _ dice a Go di scartare quel valore restituito. Questo è necessario quando non usi un valore, poiché Go non consente variabili inutilizzate.

challenge icon

Sfida

Principiante

In questa sfida, ti eserciterai a restituire più valori da una funzione in Go.

Abbiamo una funzione chiamata getPersonInfo che dovrebbe restituire il nome, l’età di una persona e indicare se è uno studente. Il tuo compito è completare la funzione aggiungendo l’istruzione return appropriata.

Provalo tu

package main

import "fmt"

// Questa funzione deve restituire tre valori: name, age e isStudent
func getPersonInfo() (string, int, bool) {
	// Le variabili sono già definite
	name := "Alex"
	age := 25
	isStudent := true
	
	// TODO: restituisci tutti e tre i valori (name, age, isStudent)
	
}

func main() {
	// Chiama la funzione e memorizza i valori restituiti
	name, age, isStudent := getPersonInfo()
	
	// Stampa i valori
	fmt.Printf("Name: %s\n", name)
	fmt.Printf("Age: %d\n", age)
	fmt.Printf("Is Student: %t\n", isStudent)
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Go online