Outils pour utilisateurs

Outils du site


cours:informatique:dev:golang:demarrer_avec_go:140_variables

Notes et transcriptions du coursDémarrer avec Go” proposée par University of California, Irvine disponible sur la plateforme coursera.

Variables

Abordons les variables et parlons un peu des variables présentes dans tous les langages de haut niveau et voyons comment Go l'implémente. Cela ressemble beaucoup à ce que vous avez vu dans d'autres langues, certaines choses sont un peu différentes.

Nommage

Vous avez besoin de noms pour les variables, pour les fonctions, vous avez besoin de noms pour faire référence à des éléments de votre code.

Les noms doivent commencer par une lettre. Ils peuvent comporter n'importe quel nombre de lettres, de chiffres et de traits de soulignement, les noms sont sensible à la casse en Go et vous ne pouvez pas utiliser de mots clés.

Il existe une liste de mots clés que vous pouvez rechercher sur Google comme if, case, package etc, vous ne pouvez pas les utiliser comme noms les mots clés du langage.

Les variables sont essentiellement des données stockées quelque part en mémoire. Et chaque variable a un nom et un type. Toutes les variables doivent donc avoir une déclaration, spécifiant le nom et le type de la variable.

Voici donc une déclaration de variable très simple.

//mot clé    nom    type
var          x      int

var est le mot clé pour la déclaration d'une variable. Après, on a le nom, ma variable porte le nom “x”, puis j'ai le type int (integer = entier).

Le compilateur doit savoir de quel type de variable il s'agit afin de connaître l'espace à allouer, quelles opérations peuvent être effectuées.

Vous pouvez en déclarer plusieurs sur la même ligne si vous le souhaitez, simplement en les séparant par des virgules.

var x,y int

Les types de variables

Le type définit les valeurs qu'une variable peut prendre et les opérations qui peuvent être effectuées sur cette variable.

Ainsi, pour les types courants, les types de base on a :

  • int les entiers ;
  • float les virgules flottantes ;
  • Strings les chaînes de caractères.

Pour les entiers ( type int), les valeurs qu'ils peuvent prendre ne sont que des valeurs entières (sans élément décimal ou fractionnaire) et les opérations que vous pouvez effectuer sont arithmétiques entières, addition, soustraction, multiplication etc

Pour les nombres décimaux ( type float), leurs valeurs peuvent être décimales ou fractionnaires. Vous avez là aussi un ensemble d'opérations, des opérations arithmétiques. En fait, elles ressemblent superficiellement aux opérations entières : addition, soustraction, division, mais elles sont en fait être implémentées avec un matériel différent. En effet la division à virgule flottante est nettement plus compliquée que la division entière : Il existe donc du matériel dédié uniquement pour diviser les décimaux. Nous n'avons pas besoin de le savoir en tant que programmeurs, mais la machine doit savoir à quelle opération appliquer.

Enfin les chaînes de caractères (type Strings) Donc, les chaînes sont des séquence d' octets codées en Unicode . Nous y reviendrons plus tard mais retenons qu'il s'agit d'une séquence d'octets. Les opérations que vous pouvez effectuer sur des chaînes sont nombreuses : comparaison, recherche, concaténation, classement etc.

C'est bien le type qui spécifie les valeurs et les opérations possibles. Il précise quelles données la variable peut contenir sa taille. Parce que vous devez savoir combien d'espace mémoire vous devrez allouer pour cela. Le compilateur doit savoir cela et aussi quelles opérations peuvent être effectuées dessus.

Le compilateur devra lire ces opérations présentes dans le code source et les compiler (traduire) en instructions en code machine adaptées à la plate-forme matérielle cible, et ces instructions en code machine peuvent être différentes selon le type.

C'est pourquoi le compilateur doit connaître le type afin de savoir comment faire la compilation, comment le convertir en code machine.

◁ Précédent | ⌂ Retour au sommaire | Suivant ▷

cours/informatique/dev/golang/demarrer_avec_go/140_variables.txt · Dernière modification : 2024/05/04 10:18 de yoann