Dans Golang, bien qu'il n'ait pas de type d'énumération, nous pouvons toujours implémenter la fonction d'énumération d'autres manières. Pour les situations où nous devons convertir un type énumération en type entier, nous pouvons utiliser la méthode de conversion suivante.
Supposons que nous ayons le type d'énumération suivant :
type Color int const ( Red Color = iota Green Blue )
Nous pouvons obtenir la valeur entière de chaque valeur d'énumération en convertissant le type d'énumération en un type entier. Dans Golang, les valeurs d'énumération utilisant des types de base peuvent être des types entiers signés ou non signés.
Si vous devez convertir le type d'énumération en un type entier, il vous suffit d'effectuer une conversion de type sur la valeur d'énumération, comme indiqué ci-dessous :
func main() { var color Color = Blue fmt.Println(int(color)) // 输出2 }
Le code ci-dessus convertit la valeur d'énumération de type Color en un type entier et génère des résultats. il. Dans cet exemple, la valeur de Blue est 2, donc la sortie est 2.
Dans le même temps, nous pouvons également envisager d'ajouter une méthode ToInt au type d'énumération pour convertir directement la valeur d'énumération en un type entier. Par exemple :
func (c Color) ToInt() int { return int(c) }
Ensuite, nous pouvons utiliser cette méthode comme ceci :
func main() { var color Color = Green fmt.Println(color.ToInt()) // 输出1 }
Lorsque nous devons convertir le type d'énumération en un type entier, les deux méthodes ci-dessus peuvent obtenir les résultats souhaités.
Bien que Golang lui-même ne fournisse pas de types d'énumération, nous pouvons simuler des énumérations via des constantes et des iota. Cette méthode de mise en œuvre est plus simple, plus flexible et peut également répondre à nos besoins.
En général, c'est une chose très simple de convertir des types d'énumération en types entiers dans Golang. Nous pouvons utiliser une conversion de type ou des méthodes personnalisées pour y parvenir, et nous pouvons choisir en fonction de besoins spécifiques.
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!