Menu
Coddy logo textTech

Fondamenti dell'ambito delle funzioni

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

In Go, le variabili dichiarate all'interno di una funzione sono accessibili solo all'interno di quella funzione. Questo è chiamato ambito della funzione.

Crea una funzione con una variabile locale:

func calculateTotal(price int, quantity int) int {
    tax := 0.1 * float64(price * quantity)  // variabile locale
    total := price * quantity + int(tax)
    return total
}

func main() {
    result := calculateTotal(10, 2)
    fmt.Println("Total:", result)
    // fmt.Println(tax)  // Errore: tax non è accessibile qui
}

L'output mostra solo il valore restituito:

Total: 22

La variabile tax esiste solo all'interno della funzione calculateTotal e non è accessibile da main.

challenge icon

Sfida

Principiante

In questa sfida, ti eserciterai a comprendere l'ambito delle funzioni in Go. Devi correggere un semplice programma che presenta un problema di ambito.

Il programma ha una variabile globale message e una funzione che tenta di modificarla. Il tuo compito è correggere il codice in modo che la funzione aggiorni correttamente la variabile globale.

Provalo tu

package main

import "fmt"

// Variabile globale
var message string = "Hello from global scope"

func updateMessage() {
    // Questo crea una nuova variabile locale invece di modificare quella globale
    message := "Hello from function scope"
    fmt.Println("Inside function:", message)
}

func main() {
    fmt.Println("Before function call:", message)
    updateMessage()
    
    // TODO: La variabile globale message ha ancora il valore originale
    // Modifica la funzione updateMessage() per cambiare la variabile globale
    fmt.Println("After function call:", message)
}
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