sto cercando una fetta []interface{}
per un dato valore di interface{}
:Controllo parità di interfaccia {}
var v interface{}
for i := 0; i < len(A); i++ {
if (A[i] == v) {
fmt.Println("Gotcha!")
break
}
}
Nel caso banale i tipi sono int
. Tuttavia, cosa devo fare se, ad esempio, i tipi sono personalizzati struct
?
Se le strutture sono [confrontabili] (https://golang.org/ref/spec#Comparison_operators), il codice funziona così com'è. –
per espanderci un po ', citando dal documento collegato di @ CodingPickle: 'I valori dell'interfaccia sono comparabili. Due valori di interfaccia sono uguali se hanno identici tipi dinamici e valori dinamici uguali o se entrambi hanno un valore n –