Ceci est une ancienne révision du document !
Notes et transcriptions du cours “Démarrer avec Go” proposée par University of California, Irvine disponible sur la plateforme coursera.
Abordons maintenant les types de données composites. Les types de données composites permettent d'étendre les types de base. Ce sont des types de données qui s'assemblent, qui agrègent d'autres types de données.
La chaîne de caractères est un cas particulier car on pourrait être tenté de la considérer comme une agrégation de ses différents octets (agrégation des runes) mais ce n'est pas un type de données composite.
Nous allons parler plus généralement de tableaux. Ainsi, un tableau en général est un ensemble, une série d'éléments de longueur fixe et d'un type choisi.
Vous pouvez créer un tableau d'octets, un tableau d'entiers, un tableau de flottants, etc. Mais c'est une longueur fixe : tous les éléments sont identiques (même type) et de taille connue : C'est l'élément clé des tableaux, ils sont de longueur fixe.
Le compilateur peut déterminer leur taille à la compilation : il sait combien d'espace en mémoire il doit leur allouer.
D' une manière générale, permettez-moi de dire que ces types de données composites sont importants. C'est-à-dire que dans tout type de programme complexe, vous devrez utiliser des types de données composites. Il ne suffit pas d'utiliser les types de données fondamentaux. Ouais. Vous devez rassembler différents types de données, les regrouper et les agréger dans une sorte de type de données composite. Vous avez donc différents éléments du tableau. Chacun est un type choisi, peut-être que c'est un tableau d'entiers, vous avez un ensemble de chaque élément du tableau qui serait un entier. Éléments du tableau, chaque élément est indexé en utilisant la notation en indice. Donc, crochets. Vous placez l'index juste au milieu des crochets. Nous allons donc avoir un exemple ici, mais il s'agit d'une notation similaire à celle que vous voyez dans de nombreuses langues différentes. Les indices commencent à zéro, parce que nous sommes en informatique, nous commençons à compter à zéro et non à un. Les éléments sont initialisés à une valeur nulle et en fait, ce n'est pas toujours le cas dans les autres langages. Disons qu'en C, vous créez un tableau, ce tableau n'est pas du tout initialisé. À moins que vous n'écriviez du code pour l'initialiser. Lorsque vous le créez, il n'est pas initialisé. Lors de la définition des objectifs, le tableau est initialisé à une valeur nulle. Quand je dis valeur nulle, je veux dire la valeur zéro du type dont le tableau est composé. Donc, s'il s'agit d'un entier, la valeur zéro est simplement zéro. S'il s'agit de chaînes, la valeur zéro est une chaîne vide. Dans cet exemple, nous montrons comment déclarer un tableau. Donc, vous dites C en haut, var x, puis entre parenthèses cinq int. Le fait qu'il ait les crochets cinq indique qu'il s'agit d'un tableau de cinq entiers. C'est ainsi que vous déclarez un tableau. Cela serait initialisé à zéro par défaut. Ensuite, sur la ligne suivante, je fais référence à un élément particulier, entre parenthèses, zéro. Donc, je regarde l'élément zéro. Je le mets égal à deux. Donc, maintenant je l'ai changé pour qu'il soit égal à deux. Dans la ligne suivante, je fais un Printf. Alors, faites Printf x of bracket one. Depuis le premier crochet, je ne l'ai pas explicitement initialisé, il aurait été initialisé à zéro. Donc, ça va imprimer zéro. Donc, c'est un tableau. Vous l'avez probablement vu dans d'autres langues. Un tableau littéral est un ensemble prédéfini de valeurs qui constituent un tableau. Vous pouvez donc l'utiliser pour initialiser les tableaux si vous le souhaitez. Ainsi, par exemple ici, nous disons var x bracket five int. Il s'agit donc d'un tableau de cinq entiers. Nous disons égal et nous disons entre crochets cinq et entre crochets, il y a en fait cinq entiers. C'est donc en fait une façon d'initialiser le tableau à un ensemble de valeurs, à un tableau de cinq entiers. Donc, ce tableau de cinq entiers qui se trouve entre crochets. C'est ce qu'on appelle un tableau littéral, et nous définissons x comme étant égal à ce tableau littéral. La longueur du littéral doit être identique à la longueur du tableau. Donc, si vous déclarez que x est égal à cinq, vous feriez mieux d'avoir cinq littéraux dans le tableau littéral. Il s'agit alors de l'opération « point point point point ». C'est en fait un mot clé. Ainsi, le point point point est utilisé pour exprimer la taille. Vous pouvez utiliser le point point pour exprimer la taille d'un tableau littéral. Vous pouvez le faire parce que si vous avez un tableau littéral et que quatre éléments sont placés entre crochets, il est clair que vous voulez que ce tableau littéral soit de taille quatre. Vous n'êtes pas obligé de dire quatre explicitement. Vous pouvez donc simplement y mettre un point, et cela déduira la taille du tableau à partir du nombre d'éléments à l'intérieur du tableau littéral. Ainsi, dans cet exemple, x : =, entre crochets, nous avons .dot point point. Nous ne précisons pas explicitement la taille. Il s'agit de l'int 1, 2, 3, 4. Comme il contient quatre éléments, il est clair que vous voulez que x soit de taille quatre. L'opération de programmation la plus courante que vous effectuez sur des tableaux consiste à itérer dans le tableau. Vous parcourez chaque élément du tableau et vous faites quelque chose avec l'élément du tableau. Peut-être que vous l'ajoutez à une somme ou que vous vérifiez si elle est supérieure à cinq ou quelque chose comme ça, mais il est extrêmement courant en programmation d' itérer dans un tableau et de vérifier chaque élément du tableau. Donc, la façon dont vous le faites pour fixer des buts est d'utiliser une boucle à quatre boucles. Donc, vous pouvez voir le code ici, nous avons quelques exemples de tableaux un, deux, trois. Il ne contient que trois éléments, un, deux, trois. Nous voulons maintenant parcourir ce tableau. Peut-être voulons-nous imprimer chaque élément du tableau. Nous faisons donc une boucle à quatre. Maintenant, notez que j'ai surligné le mot clé à proximité de cette plage. À droite du mot clé range se trouve le nom du tableau que nous voulons parcourir. Donc, plage x. À gauche, nous disons pour i, v. Nous avons deux variables ici, i et v. I est l'indice de l'élément du tableau que nous examinons dans cette passe particulière, et v va être lié à la valeur du tableau dans l'élément que nous examinons dans cette passe. Donc, l'idée ici est que dans cette boucle, si vous regardez à l'intérieur des crochets, il y a une déclaration d'impression. Cette instruction d'impression sera itérée une fois que chacune aura passé la boucle. Ainsi, à chaque passage de la boucle, i et v sont liés à des valeurs différentes. I est l'indice de l'élément que nous examinons, et v est la valeur. Donc, dans ce cas, avec ce tableau, c'est le premier passage de la boucle. Ce sera zéro, la prochaine passe sera une, la prochaine passe sera deux. Ils augmenteront à chaque fois. V sera la ième valeur du tableau. Ainsi, lors du premier passage où i est égal à 0, v sera égal à un car le premier élément de ce tableau est le numéro un. L'élément zéro est donc le numéro un. Ensuite, au passage suivant, i sera un et v sera deux, car le premier élément à partir de zéro, c'est un. Le premier élément de ce décompte est la valeur deux et ainsi de suite. Tout ce que fait cette boucle est très simple, elle imprime simplement le i et le v ensemble, mais c'est l'idée. Cela me permet d'itérer dans le tableau. Ainsi, i et v sont liés à un index et à une valeur dans ce tableau à chaque passage. Ainsi, à l' intérieur de la boucle, entre crochets, nous pouvons faire ce que nous voulons avec cette valeur v et cet indice i.