Actuellement, j'utilise cette fonction d'aide pour vérifier les interfaces nil et nil.
func isNil(a interface{}) bool {
defer func() { recover() }()
return a == nil || reflect.ValueOf(a).IsNil()
}
Depuis reflect.ValueOf(a).IsNil()
panique si le Kind de la valeur est autre chose que Chan
, Func
, Map
, Ptr
, Interface
o Slice
j'ai jeté dans le différé recover()
pour les attraper.
Existe-t-il un meilleur moyen de réaliser ce contrôle ? Je pense qu'il devrait y avoir un moyen plus direct de le faire.