Maison >développement back-end >Golang >Combien de types de constantes existe-t-il dans le langage Go ?

Combien de types de constantes existe-t-il dans le langage Go ?

青灯夜游
青灯夜游original
2023-01-09 10:39:541755parcourir

Il existe 5 types de constantes du langage Go : les constantes booléennes, les constantes entières, les constantes à virgule flottante, les constantes de nombres complexes et les constantes de chaîne. Les constantes du langage Go sont définies à l'aide du mot-clé const, qui est utilisé pour stocker des données qui ne changeront pas. Les constantes sont créées au moment de la compilation, même si elles sont définies dans une fonction, et ne peuvent être que booléennes, numériques (entier, entier). , nombres à virgule flottante et complexes) et types de chaînes.

Combien de types de constantes existe-t-il dans le langage Go ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, GO version 1.18, ordinateur Dell G3.

Constante fait référence à une valeur fixe qui ne peut pas changer pendant l'exécution d'un programme. Ces valeurs fixes sont également appelées littéraux.

Les constantes sont les éléments les plus élémentaires du programme et ne peuvent pas être réaffectées une fois définies.

Les constantes du langage Go sont définies à l'aide du mot-clé const, qui est utilisé pour stocker des données qui ne changeront pas. Les constantes sont créées au moment de la compilation, même si elles sont définies dans une fonction, et ne peuvent être que booléennes ou numériques (entier). ), nombres à virgule flottante et complexes) et types de chaînes. En raison de restrictions au moment de la compilation, l'expression définissant une constante doit être une expression constante pouvant être évaluée par le compilateur.

Constantes booléennes

Les constantes booléennes n'ont que deux valeurs, vraie (vrai) ou fausse (faux).

Le code est le suivant :

const x = true
fmt.Print(x) //输出true

Constante entière

La constante entière est en fait un nombre positif

Le code est le suivant :

const x = 20
fmt.Print(x) //输出20

Constante à virgule flottante

La constante à virgule flottante est en fait une décimale

Le code est le suivant :

cOnstx= 0.618
fmt.Print(x) //输出%f0.618

Constante de caractère/chaîne de caractères

Le code est le suivant :

const x = 'a'
fmt.Print(x) //输出97

const x = "a"
fmt.Print(x) //输出a

Constante complexe

Le code est le suivant :

const x = 3 + 2i
fmt.Print(x) //输出%v(3+2i)

Si vous regardez attentivement, vous trouverez que les valeurs de sortie de « a » et « a » sont différentes, les guillemets simples « a » représentent un caractère et « a » entre guillemets doubles représente une chaîne. Dans le langage Go, « 1 », « 1 » et 1 sont des valeurs différentes, ce qui est le même que dans le langage C. Les bottes pour enfants intéressés peuvent essayer eux-mêmes la sortie.

Connaissances étendues : constantes non typées

Il y a quelque chose d'inhabituel dans les constantes du langage Go. Bien qu'une constante puisse avoir n'importe quel type sous-jacent défini, tel que int ou float64, ou un type de base comme time.Duration, de nombreuses constantes n'ont pas de type sous-jacent explicite.

Le compilateur fournit des opérations arithmétiques de plus grande précision pour ces constantes numériques qui n'ont pas de type sous-jacent explicite que le type sous-jacent. On peut considérer qu'il existe une précision d'opération d'au moins 256 bits. Il existe six types de constantes non typées, à savoir les booléens non typés, les entiers non typés, les caractères non typés, les nombres à virgule flottante non typés, les nombres complexes non typés et les chaînes non typées.

En différant le type spécifique de constantes, il offre non seulement une plus grande précision de fonctionnement, mais peut également être directement utilisé dans davantage d'expressions sans conversion de type explicite.

[Exemple 1] math.Pi est une constante à virgule flottante non typée qui peut être utilisée directement partout où des nombres à virgule flottante ou des nombres complexes sont requis :

var x float32 = math.Pi
var y float64 = math.Pi
var z complex128 = math.Pi

Si math.Pi est déterminé comme étant un type spécifique, tel que float64, le la précision des résultats peut être différente, en même temps, lorsqu'une valeur de type float32 ou complex128 est requise, une conversion explicite est requise :

const Pi64 float64 = math.Pi
var x float32 = float32(Pi64)
var y float64 = Pi64
var z complex128 = complex128(Pi64)

[Recommandations associées : Tutoriel vidéo Go, Enseignement de la programmation]

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