assertion de type Utilisation de réflect.typeof () Dans Go
dans Go, lorsque vous travaillez avec des interfaces, il peut être nécessaire d'effectuer une affirmation de type pour obtenir le type de béton sous-jacent. La question se pose sur la façon de lancer un type (renvoyé par réflect.typeof ()) à un type spécifique pour l'affirmation. Interface de l'élément var {} Nom de commutation { défaut: item = article {} } return }
Ici, nous visons à identifier une structure (article) basée sur un nom de chaîne. Cependant, l'affirmation de type nécessite un type, mais Reflect.TypeOf () renvoie un type.
Solution:
func IdentifyItemType(name string) interface{} { var item interface{} switch name { default: item = Article{} } return item }
Switch x. (Type) { cas Int: Dosomething () }
Cependant, pour activer le type d'attributs dans une interface, la réflexion peut être utilisée: s: = réflect.valueof (x)
pour i: = 0; i Cela permet la commutation des types sur les attributs de l'interface. Bien qu'il ne s'agisse pas d'une solution élégante, il fournit des fonctionnalités jusqu'à ce qu'une meilleure alternative soit découverte.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3