Un oggetto di qualsiasi tipo può essere assegnato a un'interfaccia vuota. Ad esempio, abbiamo la seguente funzioneInterfaccia vuota Golang {} nella funzione tipo
func Println(i interface{}) {
fmt.Println(i)
}
Possiamo chiamarla con
Println(3)
Println(1.5)
Println("Hello")
Ma io cann't ottenere la stessa cosa per il tipo di funzione
func Map(fn func(interface{})) {
......
}
non posso chiamare questo con
Map(func(i int) {......})
perché il tipo func (int) è diverso dal tipo func (interfaccia e {}).
Ma quando definisco func (interface {}), intendo davvero qualsiasi tipo di parametri di input. Come posso ottenere questo in Golang
Sono diversi "tipi". Una funzione che accetta un'interfaccia e una funzione che accetta un int sono cose diverse. –
Sì, so che i tipi sono diversi. Ma è possibile per me definire un tipo di funzione per accettare qualsiasi parametro di tipo? –