Maison développement back-end Golang Utiliser des assertions de type pour gérer différents types d'erreurs dans les fonctions Golang

Utiliser des assertions de type pour gérer différents types d'erreurs dans les fonctions Golang

Apr 24, 2024 pm 12:09 PM
编程 golang 错误处理

Lors de la gestion de différents types d'erreurs dans les fonctions Go, vous pouvez utiliser des assertions de type pour vérifier le type réel d'une variable et la convertir au type requis. La syntaxe de l'assertion de type est : variable, ok := interfaceVariable.(type), où variable est la variable d'interface à vérifier, type est le type cible vers lequel convertir et ok est une valeur booléenne indiquant si la conversion est réussie. . Les assertions de type permettent d'exécuter différents chemins de code en fonction de différents types d'erreurs.

Utiliser des assertions de type pour gérer différents types derreurs dans les fonctions Golang

Utilisez des assertions de type pour gérer différents types d'erreurs dans les fonctions Go

Lors de la gestion de différents types d'erreurs dans les fonctions Go, vous pouvez utiliser des assertions de type. L'assertion de type est un mécanisme de vérification de type qui vous permet de vérifier le type réel d'une variable et de la convertir en type requis. Ceci est utile lorsque différents chemins de code doivent être exécutés en fonction de différents types d'erreurs.

Syntaxe

La syntaxe de l'assertion de type est la suivante :

variable, ok := interfaceVariable.(type)
Copier après la connexion
  • variable est la variable d'interface à vérifier.
  • variable 是要检查的 interface 变量。
  • type 是要转换到的目标类型。
  • ok 是一个布尔值,表示转换是否成功。如果转换失败,ok 将为 false

实战案例

考虑以下函数:

func doSomething() error {
  if err := someDependency.DoSomething(); err != nil {
    return err
  }

  return nil
}
Copier après la connexion

此函数调用 someDependency.DoSomething() 方法,该方法可能会返回不同类型的错误。为了根据错误类型执行不同的操作,我们可以使用类型断言:

func main() {
  if err := doSomething(); err != nil {
    switch err := err.(type) {
    case *myError1:
      // 执行错误1的处理代码
    case *myError2:
      // 执行错误2的处理代码
    default:
      // 执行默认的错误处理代码
    }
  }
}
Copier après la connexion

在这个例子中,我们根据 err 的实际类型执行不同的代码路径。如果 err*myError1 类型,则执行错误 1 的处理代码。如果 err*myError2 类型,则执行错误 2 的处理代码。如果 errtype est le type de cible vers lequel convertir.

ok est une valeur booléenne indiquant si la conversion a réussi. Si la conversion échoue, ok sera false. 🎜🎜Cas pratique🎜🎜🎜Considérons la fonction suivante : 🎜rrreee🎜Cette fonction appelle la méthode someDependency.DoSomething(), qui peut renvoyer différents types d'erreurs. Afin d'effectuer différentes actions en fonction du type d'erreur, nous pouvons utiliser des assertions de type : 🎜rrreee🎜 Dans cet exemple, nous effectuons différents chemins de code en fonction du type réel de err. Si err est de type *myError1, alors le code de gestion de l'erreur 1 est exécuté. Si err est de type *myError2, alors le code de gestion de l'erreur 2 est exécuté. Si err n'est pas l'un de ces deux types, le code de gestion des erreurs par défaut est exécuté. 🎜

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Résolution de problèmes avec Python : débloquez des solutions puissantes en tant que codeur débutant Résolution de problèmes avec Python : débloquez des solutions puissantes en tant que codeur débutant Oct 11, 2024 pm 08:58 PM

Python permet aux débutants de résoudre des problèmes. Sa syntaxe conviviale, sa bibliothèque complète et ses fonctionnalités telles que les variables, les instructions conditionnelles et les boucles permettent un développement de code efficace. De la gestion des données au contrôle du flux du programme et à l'exécution de tâches répétitives, Python fournit

Libérez votre programmeur intérieur : C pour les débutants absolus Libérez votre programmeur intérieur : C pour les débutants absolus Oct 11, 2024 pm 03:50 PM

C est un langage idéal pour les débutants qui souhaitent apprendre la programmation, et ses avantages incluent l'efficacité, la polyvalence et la portabilité. L'apprentissage du langage C nécessite : Installer un compilateur C (tel que MinGW ou Cygwin) Comprendre les variables, les types de données, les instructions conditionnelles et les instructions de boucle Ecrire le premier programme contenant la fonction principale et la fonction printf() S'entraîner à travers des cas pratiques (comme le calcul de moyennes) Connaissance du langage C

La clé du codage : libérer la puissance de Python pour les débutants La clé du codage : libérer la puissance de Python pour les débutants Oct 11, 2024 pm 12:17 PM

Python est un langage d'introduction à la programmation idéal pour les débutants grâce à sa facilité d'apprentissage et ses fonctionnalités puissantes. Ses bases incluent : Variables : utilisées pour stocker des données (nombres, chaînes, listes, etc.). Type de données : Définit le type de données dans la variable (entier, virgule flottante, etc.). Opérateurs : utilisés pour les opérations mathématiques et les comparaisons. Flux de contrôle : contrôlez le flux d'exécution du code (instructions conditionnelles, boucles).

Transformant du développement frontal au développement back-end, est-il plus prometteur d'apprendre Java ou Golang? Transformant du développement frontal au développement back-end, est-il plus prometteur d'apprendre Java ou Golang? Apr 02, 2025 am 09:12 AM

Chemin d'apprentissage du backend: le parcours d'exploration du front-end à l'arrière-end en tant que débutant back-end qui se transforme du développement frontal, vous avez déjà la base de Nodejs, ...

Démystifier C : un chemin clair et simple pour les nouveaux programmeurs Démystifier C : un chemin clair et simple pour les nouveaux programmeurs Oct 11, 2024 pm 10:47 PM

C est un choix idéal pour les débutants qui souhaitent apprendre la programmation système. Il contient les composants suivants : fichiers d'en-tête, fonctions et fonctions principales. Un simple programme C capable d'imprimer "HelloWorld" a besoin d'un fichier d'en-tête contenant la déclaration de fonction d'entrée/sortie standard et utilise la fonction printf dans la fonction principale pour imprimer. Les programmes C peuvent être compilés et exécutés à l'aide du compilateur GCC. Après avoir maîtrisé les bases, vous pouvez passer à des sujets tels que les types de données, les fonctions, les tableaux et la gestion des fichiers pour devenir un programmeur C compétent.

Python Power, simplifié : une approche de la programmation adaptée aux débutants Python Power, simplifié : une approche de la programmation adaptée aux débutants Oct 11, 2024 pm 04:53 PM

Premiers pas avec la programmation Python Installer Python : téléchargez et installez à partir du site officiel. HelloWorld ! : utilisez print("HelloWorld!") pour imprimer la première ligne de code. Cas pratique : Calculer l'aire d'un cercle : Utilisez π (3,14159) et le rayon pour calculer l'aire du cercle. Variables et types de données : utilisez des variables pour stocker des données. Les types de données en Python incluent des entiers, des nombres à virgule flottante, des chaînes et des valeurs booléennes. Expressions et affectations : utilisez des opérateurs pour connecter des variables, des constantes et des fonctions, et utilisez l'opérateur d'affectation (=) pour attribuer des valeurs aux variables. Flux de contrôle : instruction if-else : exécute différents blocs de code en fonction des conditions, détermine les impairs

Créer l'avenir : programmation Java pour les débutants absolus Créer l'avenir : programmation Java pour les débutants absolus Oct 13, 2024 pm 01:32 PM

Java est un langage de programmation populaire qui peut être appris aussi bien par les développeurs débutants que par les développeurs expérimentés. Ce didacticiel commence par les concepts de base et progresse vers des sujets avancés. Après avoir installé le kit de développement Java, vous pouvez vous entraîner à la programmation en créant un simple programme « Hello, World ! ». Une fois que vous avez compris le code, utilisez l'invite de commande pour compiler et exécuter le programme, et « Hello, World ! » s'affichera sur la console. L'apprentissage de Java commence votre parcours de programmation et, à mesure que votre maîtrise s'approfondit, vous pouvez créer des applications plus complexes.

Quelles bibliothèques de GO sont développées par de grandes entreprises ou fournies par des projets open source bien connus? Quelles bibliothèques de GO sont développées par de grandes entreprises ou fournies par des projets open source bien connus? Apr 02, 2025 pm 04:12 PM

Quelles bibliothèques de GO sont développées par de grandes entreprises ou des projets open source bien connus? Lors de la programmation en Go, les développeurs rencontrent souvent des besoins communs, ...

See all articles