Assertion de type d'une tranche de valeurs d'interface
En essayant de taper assert d'une tranche de nœud vers une tranche de symbole, une erreur est rencontré, indiquant que l'assertion de type n'est pas valide. En effet, une tranche de valeurs d'interface n'est pas en soi un type d'interface.
Une tranche est un type distinct sans interface, tandis qu'un type d'interface définit un ensemble de méthodes. Par conséquent, cela n'a pas de sens de supposer qu'une tranche de valeurs d'interface est également un type d'interface.
Pour résoudre ce problème, au lieu de taper directement la tranche de Node, vous pouvez convertir chaque élément de la tranche au type souhaité, Symbol dans ce cas, et créez une nouvelle tranche du type souhaité. Par exemple, le code suivant permettrait d'obtenir le résultat souhaité :
symbols := make([]Symbol, len(args)) for i, arg := range args { symbols[i] = arg.(Symbol) } fixed, rest := parseFormals(symbols)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!