Maison  >  Article  >  développement back-end  >  Que signifie l’affirmation Golang ?

Que signifie l’affirmation Golang ?

小老鼠
小老鼠original
2023-12-14 16:28:52792parcourir

En langage Go, l'assertion est une opération de conversion de type utilisée pour convertir la valeur d'un type d'interface en un type spécifique. Les types d'interface peuvent représenter n'importe quel type de valeur dans le langage Go, mais dans certains cas, la valeur du type d'interface doit être convertie en un type spécifique pour le fonctionnement. Les assertions dans le langage Go sont généralement implémentées à l'aide d'expressions d'assertion de type, dont la syntaxe est "value, ok := interfaceValue.(Type)".

Que signifie l’affirmation Golang ?

Le système d'exploitation de ce tutoriel : système windows10, version go1.20.1, ordinateur Dell G3.

En langage Go, l'assertion est une opération de conversion de type utilisée pour convertir la valeur d'un type d'interface en un type spécifique. Les types d'interface peuvent représenter n'importe quel type de valeur dans le langage Go, mais dans certains cas, nous devons convertir la valeur du type d'interface en un type spécifique pour le fonctionnement.

Les assertions dans le langage Go sont généralement implémentées à l'aide d'expressions d'assertion de type, dont la syntaxe est :

value, ok := interfaceValue.(Type)

où interfaceValue est la valeur d'un type d'interface et Type est le type spécifique à affirmer. L'expression d'assertion renvoie deux valeurs. La première valeur est la valeur convertie du type spécifique et la seconde valeur est une valeur booléenne indiquant si l'assertion a réussi. La deuxième valeur est vraie si l'assertion réussit, fausse sinon.

Voici un exemple simple :

var i interface{} = "hello"
s, ok := i.(string)
if ok {
    fmt.Println(s) // 输出为 "hello"
} else {
    fmt.Println("断言失败")
}

Dans l'exemple ci-dessus, nous affirmons une valeur de type d'interface i comme type de chaîne et attribuons le résultat à s et ok. Si l'assertion réussit et que la valeur de ok est vraie, nous pouvons utiliser s pour opérer sur les valeurs de type chaîne. Si l'assertion échoue, ok est évalué à false et nous pouvons effectuer la gestion des erreurs si nécessaire.

Il convient de noter que si la valeur du type d'interface n'est pas le type à affirmer, l'opération d'assertion déclenchera une panique à l'exécution. Par conséquent, lors de l'exécution d'opérations d'assertion, il est recommandé d'utiliser le formulaire ci-dessus avec une deuxième valeur de retour pour faciliter une conversion de type sécurisée.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn