l'éditeur php Baicao vous présente aujourd'hui un concept important sur la conversion de type : la conversion de types personnalisés en pointeurs de type de base. En programmation, nous avons souvent besoin de convertir un type personnalisé en pointeur d'un type de base afin d'effectuer certaines opérations spécifiques. Cette opération de conversion peut nous aider à traiter les données de manière plus flexible et à améliorer l'efficacité et la lisibilité du code. Cet article expliquera ce concept en détail et donnera quelques exemples pour aider les lecteurs à mieux le comprendre et l'appliquer.
Supposons que j'ai un code comme celui-ci :
type CustomStringType string var a *CustomStringType x := CustomStringType("sample string") a = &x var b *string
Je ne peux rien modifier dans le code ci-dessus.
Maintenant, je veux a
分配给 b
J'ai essayé de nombreuses méthodes, telles que :
b = a b = string(a) b = a.(string) b = a.(*string)
Mais aucun d’entre eux n’a vraiment fonctionné.
Utilisez un type simple Conversion :
b = (*string)(a)
Puisque le type que vous souhaitez convertir se termine par *
运算符开头,因此必须将其放在括号中以避免歧义(例如,您要转换为 *string
,而不是 string
et déréférence le résultat).
(*string)(a)
是一个有效的转换,因为您想要将值从类型 *CustomStringType
转换为 *string
, et la spécification autorise de telles conversions en utilisant les règles suivantes :
*CustomStringType
和 *string
都是未命名指针类型,并且都以 string
comme type de base de pointeur.
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!