Le langage Go permet la coercition de la valeur de retour de la fonction, et son format de syntaxe est value := variable.(targetType). Le cast peut être utilisé pour convertir une valeur de type interface{} en un type spécifique, tel que map[string]string. Les considérations incluent la compatibilité des types, la validation des valeurs et une utilisation prudente.
Valeur de retour de la fonction de conversion de type forcée en Go
En langage Go, la valeur de retour de la fonction peut être une conversion de type forcée. Le format de syntaxe est le suivant :
value := variable.(targetType)
où :
variable
est la variable à convertir. variable
是要转换的变量。targetType
是要转换的目标类型。实战案例:
假设有一个 GetUserInfo
函数,它返回一个 interface{}
类型的 map:
func GetUserInfo() interface{} { return map[string]string{"name": "John Doe", "age": "30"} }
要强制转换此返回值到 map[string]string
类型,可以使用如下代码:
userInfo := GetUserInfo().(map[string]string)
现在,userInfo
变量是一个 map[string]string
targetType
est le type de cible à convertir. Cas pratique :
GetUserInfo
, qui renvoie une carte de type interface{}
: fmt.Println(userInfo["name"]) // 输出:John Doe
map[string]string
, vous pouvez utiliser le code suivant : userInfo
est une variable de type map[string]string , peut être utilisé comme une carte normale : rrreee🎜🎜Remarque : 🎜🎜🎜🎜La conversion de type forcée ne s'applique qu'aux types compatibles. Si les types en cours de conversion sont incompatibles, une erreur d'exécution est générée. 🎜🎜 Le casting vérifie uniquement le type de la variable et n'effectue aucune validation sur sa valeur. Par exemple, si la variable en cours de conversion contient une valeur non valide, la conversion peut quand même réussir, mais une erreur se produira lors de l'utilisation de la valeur. 🎜🎜Soyez prudent lorsque vous utilisez des moulages. Si le type de conversion est incorrect, le programme peut se comporter de manière imprévisible. 🎜🎜
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!