Maison  >  Article  >  développement back-end  >  Pour quels scénarios la réflexion Golang est-elle utilisée ?

Pour quels scénarios la réflexion Golang est-elle utilisée ?

angryTom
angryTomoriginal
2020-03-14 14:47:544284parcourir

Pour quels scénarios la réflexion Golang est-elle utilisée ?

Pour quels scénarios la réflexion Golang est-elle utilisée ?

1. Le scénario d'utilisation le plus courant de la réflexion dans Golang est la sérialisation d'objets. (sérialisation, parfois appelée Marshal & Unmarshal).

Par exemple, les packages encoding/json, encoding/xml, encoding/gob, encoding/binary et autres de la bibliothèque standard du langage Go s'appuient fortement sur des fonctions de réflexion.

Recommandations associées : Tutoriel Golang

La plupart du temps, les variables, les types et les fonctions dans Go sont très simples et directs. Lorsque vous avez besoin d'un type, d'une variable ou d'une fonction, vous pouvez les définir directement :

type Foo struct {
 A int
 B string
}
 
var x Foo
 
func DoSomething(f Foo) {
 fmt.Println(f.A, f.B)
}

2 Mais parfois, vous souhaitez utiliser les informations de la variable au moment de l'exécution qui n'existent pas lorsque vous écrivez le programme. Supposons que vous essayiez de mapper les données d'un fichier ou d'une requête réseau en variables. Ou vous souhaitez créer un outil qui fonctionne pour un autre type d'application.

Dans ce cas, vous devez utiliser la réflexion. Reflection vous permet de vérifier les types au moment de l'exécution. Il vous permet également d'inspecter, de modifier et de créer des variables, des fonctions et des structures au moment de l'exécution.

Reflection in Go repose sur trois concepts :

Types Types Valeurs.

Site Web PHP chinois, un grand nombre de tutoriels de programmation et tutoriels thinkphp, bienvenue pour apprendre.

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