Maison > développement back-end > Golang > Comment convertir en toute sécurité interface{} en int dans Go ?

Comment convertir en toute sécurité interface{} en int dans Go ?

Mary-Kate Olsen
Libérer: 2024-12-24 17:16:16
original
588 Les gens l'ont consulté

How to Safely Convert interface{} to int in Go?

Conversion de l'interface{} en int dans Go

Lors de la récupération de données à partir de JSON et de la tentative de conversion en un entier, vous pouvez rencontrer une erreur indiquant que vous ne pouvez pas convertir une interface{} vers un int. Cette erreur se produit en raison des règles d'assertion de type de Go.

Dans votre code, vous avez la ligne suivante :

iAreaId := int(val)
Copier après la connexion

Cette ligne tente de convertir le val, qui a le type interface{ }, en un int en utilisant un transtypage. Cependant, la conversion de type d'une interface{} en int n'est pas autorisée.

Pour résoudre ce problème, vous devez utiliser une assertion de type à la place :

iAreaId := val.(int)
Copier après la connexion

Une assertion de type extrait le sous-jacent valeur de l'interface{} si elle a le type déclaré. Si la valeur n'a pas le type déclaré, l'assertion de type paniquera.

Vous pouvez également utiliser une version sans panique de l'assertion de type en utilisant une deuxième valeur de retour :

iAreaId, ok := val.(int)
Copier après la connexion

La variable ok sera vraie si l'assertion de type a réussi et fausse si elle a échoué.

En utilisant correctement une assertion de type, vous pouvez convertir avec succès une interface{} à un int dans Go.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal