Skip to content

Types de données en Go

Ci-dessous sont listés tous les types intégrés du langage Go, pour référence. Pour plus de détails, consultez le Manuel de référence - Types.

Type booléen

Le type booléen n'a que des valeurs vraies et fausses.

TypeDescription
booltrue pour vrai, false pour faux

TIP

En Go, l'entier 0 ne représente pas la valeur fausse, et les entiers non nuls ne peuvent pas représenter la valeur vraie. Autrement dit, les nombres ne peuvent pas remplacer les valeurs booléennes pour les jugements logiques, ce sont des types complètement différents.

Types entiers

Go attribue différents types aux entiers de différents nombres de bits, principalement divisés en entiers non signés et entiers signés.

NuméroType et description
uint8Entier non signé 8 bits
uint16Entier non signé 16 bits
uint32Entier non signé 32 bits
uint64Entier non signé 64 bits
int8Entier signé 8 bits
int16Entier signé 16 bits
int32Entier signé 32 bits
int64Entier signé 64 bits
uintEntier non signé, au moins 32 bits
intEntier, au moins 32 bits
uintptrÉquivalent à un entier non signé 64 bits, mais dédié aux opérations de pointeurs, utilisé pour stocker des adresses de pointeurs brutes.

Types flottants

Nombres flottants IEEE-754, principalement divisés en flottants simple précision et double précision.

TypeDescription
float32Flottant IEEE-754 32 bits
float64Flottant IEEE-754 64 bits

Types complexes

TypeDescription
complex12864 bits réel et imaginaire
complex6432 bits réel et imaginaire

Types de caractères

Les chaînes en Go sont entièrement compatibles avec UTF-8.

TypeDescription
byteÉquivalent à uint8, peut exprimer les caractères ASCII
runeÉquivalent à int32, peut exprimer les caractères Unicode
stringUne chaîne est une séquence d'octets, peut être convertie en type []byte, c'est-à-dire une tranche d'octets

Types dérivés

TypeExemple
Tableau[5]int, tableau d'entiers de longueur 5
Tranche[]float64, tranche de flottants 64 bits
Mapmap[string]int, map avec clés de type string et valeurs de type int
Structuretype Gopher struct{}, structure Gopher
Pointeur*int, un pointeur vers un entier
Fonctiontype f func(), un type de fonction sans paramètres ni valeur de retour
Interfacetype Gopher interface{}, interface Gopher
Canalchan int, canal d'entiers

Valeur zéro

Dans la documentation officielle, la valeur zéro est appelée zero value. La valeur zéro n'est pas seulement littéralement le chiffre zéro, mais plutôt une valeur vide ou une valeur par défaut d'un type.

TypeValeur zéro
Types numériques0
Type booléenfalse
Type chaîne""
TableauEnsemble de valeurs zéro du type correspondant de longueur fixe
StructureStructure dont tous les champs sont des valeurs zéro
Tranche, map, fonction, interface, canal, pointeurnil

nil

nil est similaire à none ou null dans d'autres langages, mais n'est pas équivalent. nil est seulement la valeur zéro de certains types de référence et n'appartient à aucun type. On peut voir dans le code source que nil n'est qu'une variable.

go
var nil Type

De plus, une instruction comme nil == nil ne passera pas la compilation.

Golang by www.golangdev.cn edit