Maison >développement back-end >Golang >Comment vérifier les implémentations d'interface dans Go ?
Comprendre la vérification de l'implémentation de l'interface
Lorsque vous travaillez avec des interfaces Go, il est souvent nécessaire de vérifier si une valeur implémente une interface spécifique. Comprendre ces techniques de vérification peut être difficile, mais cet article vise à clarifier le processus.
Casting de type vs assertions de type
Casting de type, comme illustré par val := MyType("hello"), permet d'attribuer une valeur à un type différent. Cependant, le transtypage de type à lui seul n'indique pas si la valeur satisfait aux exigences d'une interface.
Les assertions de type, en revanche, vérifient si une valeur est conforme à une interface. La syntaxe _, ok := val.(Somether) tente d'affirmer que la variable val est de type Somether. Si val implémente Somether, ok sera vrai ; sinon, ce sera faux.
Vérification de type explicite
Pour effectuer une vérification de type explicite, vous pouvez utiliser la syntaxe suivante :
var _ Somether = (*MyType)(nil)
Cette notation déclare une variable de type Somether et attribue un pointeur vers une instance nulle de MyType. Si MyType n'implémente pas Somether, la compilation de ce code échouera, indiquant l'incohérence.
Approche plus simple
Dans la plupart des cas, il n'est pas nécessaire de vérifier manuellement l'implémentation de l'interface lorsque le type est connu. Le compilateur Go effectue automatiquement cette vérification au moment de la compilation. Cependant, si vous avez toujours besoin d'une vérification explicite, la méthode d'assertion de type est préférable car elle évite le risque d'erreurs de compilation.
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!