Junior — Middle
È possibile passare una funzione come valore in una struttura dati map?
sobes.tech AI
Risposta dell'AI
Sì, in Go è possibile passare funzioni come valori in una struttura dati map, poiché le funzioni sono tipi di prima classe.
Esempio:
package main
import "fmt"
func main() {
// Dichiarare una mappa, dove la chiave è una stringa e il valore è una funzione che accetta un int e ne ritorna uno
funcMap := make(map[string]func(int) int)
// Aggiungere funzioni alla mappa
funcMap["square"] = func(x int) int { return x * x }
funcMap["double"] = func(x int) int { return x * 2 }
// Usare le funzioni dalla mappa
fmt.Println(funcMap["square"](5)) // 25
fmt.Println(funcMap["double"](5)) // 10
}
In questo modo, si possono memorizzare e chiamare funzioni dalla mappa tramite la chiave.