Menu
CoddyTech

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