Maison  >  Article  >  développement back-end  >  Comment convertir un type en un nouveau type basé sur celui-ci ?

Comment convertir un type en un nouveau type basé sur celui-ci ?

WBOY
WBOYavant
2024-02-06 10:30:11467parcourir

Comment convertir un type en un nouveau type basé sur celui-ci ?

Contenu de la question

J'ai créé un nouveau type pour ajouter des méthodes personnalisées spécifiques aux besoins de mon application

type content html.node

Je sais que je peux dériver html.node d'un content 类型的 content var pour faire ça

node := html.node(content)

Mais y a-t-il un html.node 类型的 var,如何转换为 content ?

J'ai découvert qu'en faisant ce qui suit...

ndoe, err := htmlquery.loadurl(page.url)

content := content(node)

... je ne peux pas travailler. Cela m'a donné cette erreur :

cannot convert doc (variable of type *html.Node) to type Content

Bonne réponse


https://www.php.cn/link/b14fba037d119d307e3b6ceb2a9fbb31

Si le nœud est html.node utilisez :

c := content(node)

Si le nœud est *html.node utilisez :

c := (*content)(node)

Commentaires de la spécification liée ci-dessus : "Si un type commence par un opérateur *... il doit être mis entre parenthèses si nécessaire pour éviter toute ambiguïté." Si vous le souhaitez

alors vous devez déréférencer le pointeur avant ou après la conversion, par exemple :

c := Content(*node) // dereference before conversion
// or
c := *(*Content)(node) // dereference after conversion
content 而不是 *content

https://www.php.cn/link/fb9d433088a21464e7d634c4e190b31a

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer