Programmation en Go/Les types de base

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche

Les réels[modifier | modifier le wikicode]

Ce sont les nombres réels qui ici sont, bien entendu, approchés par des valeurs finies pour des raisons évidentes de limite de taille. Ces nombres sont déclarés par le type float qui veut dire "nombre réel à virgule flottante".

Voici comment déclarer un réel :

// déclaration de constante
const Pi = 3.14159
// variable rayon
var rayon float32 = 1.0

Les lignes commençant par deux barres sont ignorées à la compilation ; ce sont ce qu'on appelle des commentaires.

Si l'on utilise ":=" à la place de "=", le type est déterminé automatiquement (inféré) et à ce moment, on peut écrire :

rayon := 1.0

Opérations arithmétiques[modifier | modifier le wikicode]

Les opérations suivantes sont supportées :

  • addition +
  • soustraction -
  • multiplication *
  • division /

Voici deux exemples :

var aire = rayon*rayon*Pi
var circonference = 2*rayon*Pi
var n = 100
var somme = 2*n*(n-1)

Entiers[modifier | modifier le wikicode]

Un entier est déclaré avec le type int (integer). Il existe d'autres types d'entier, notamment uint qui est toujours positif.

Les types int64 et uint64 sont de plus grande capacité car ils sont stockés sur 64 bits quelle que soit l'architecture utilisée, tandis qu' int et uint sont en général stockés sur 32 bits.

Les mêmes opérations arithmétiques s'appliquent aux entiers, avec en plus le reste de la division ou modulo (%). Exemple:

var reste = 821 % 100
// le résultat est le reste de la division par 100 soit 21

De plus, les nombres entiers et réels supportent les incrémentations (ajout de un) et décrémentations (retrancher un).

// Incrémentation
i++
// Décrémentation
i--

Chaînes de caractères[modifier | modifier le wikicode]

Elles correspondent au type string. Les chaînes peuvent être concaténées avec l'opérateur d'addition (+), en concaténant "James " et "Bond" on obtient "James Bond". Les chaînes de caractères peuvent être déclarées en les mettant entre guillemets (double quotes).

Exemple :

var james = "James"
var nom = "Bond"
var nomComplet = james+" "+nom

Les chaînes de caractères sont encodées en UTF-8 dans les sources Go, et Go gère le jeu de caractères Unicode.

Booléens[modifier | modifier le wikicode]

Un booléen (type bool) ne peut prendre que deux valeurs: vrai et faux. Ces deux valeurs correspondent aux mots-clés true et false.

Nombres complexes[modifier | modifier le wikicode]

La fonction cmplx() construit un nombre complexe, tandis que real() et imag() permettent respectivement d'en obtenir les parties réelle et imaginaire.

cmplx(partieReelle, partieImaginaire) complex
real(complex) float
imag(complex) float