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.
[MUSIQUE] Nous parlons donc de variables et nous allons parler de la façon dont vous les initialisez, mais commençons par terminer les types. Chaque variable doit donc avoir un type. Et vous pouvez faire des déclarations de type dans lesquelles vous définissez réellement un alias, un autre nom pour un type. Cela est donc parfois utile pour clarifier une application particulière. Par exemple, ici, cela pourrait vous aider, disons que vous avez une sorte d'application et que cela fonctionne sur les températures. Les températures sont quelque chose qu'il manipule, n'est-ce pas ? Et pour chaque température, vous voulez qu'elle soit une valeur à virgule flottante, une valeur à virgule flottante de 64 bits. Vous pouvez donc définir un nouveau type, un alias pour un nouveau type, type Celsius float64. Dans ce cas, Celsius est exactement le même que le float 64. Maintenant, vous pouvez toujours déclarer que vos variables sont float64, mais Celsius peut avoir du sens dans le contexte de l'application, n'est-ce pas ? Peut-être que l'application concerne les températures. Alors peut-être voudriez-vous renommer is [COUGH] juste pour que les choses soient plus claires pour vous en tant que programmeur. De plus, comme dans le suivant, tapez IDnum int. Peut-être que je le veux, peut-être que je crée du code qui implémente une base de données d'utilisateurs ou quelque chose comme ça. Et chaque utilisateur possède un numéro d'identification. Je connais donc ce type, ce numéro d'identification du concept. J'aimerais bien, je sais que c'est un entier, mais je veux le nommer. Je veux lui donner le nom IDNum, afin de savoir que chaque variable déclarée IDNum est un IDNum. Je sais quelque chose à ce sujet en me basant uniquement sur le nom du type. Ainsi, une fois que vous avez déclaré un type comme celui-ci, tapez Celsius float64 ou IDnum int, vous pouvez désormais déclarer des variables en utilisant cet alias. Je peux donc dire « var temp Celsius », non ? Et maintenant, temp va être float64 car float64 est alias par Celsius. De plus, var pid idNum, pid est en fait un entier. Mais nous l'appelons IDnum et cela clarifie les choses. Ainsi, lors de l'initialisation des valeurs des variables, chaque variable doit être initialisée d'une manière ou d'une autre avant de l'utiliser. Une façon de l'initialiser est dans la déclaration elle-même. Vous pouvez donc dire var x int = 100. Et cela fera de x un entier, il le déclarera comme un entier, mais il le définira également comme égal à 100. Ou vous pouvez simplement dire var x = 100. Maintenant, si vous le faites, vous ne dites pas que vous le voulez sous forme de nombre entier. Il déduira donc le type, il compilera avec un autre type basé sur le type de la valeur du côté droit. Donc, le nombre 100 est un entier, donc il dit que x doit être un entier, ce qui en fait un entier. Maintenant, souvenez-vous que parfois c'est un problème parce que cela déduit quelque chose que vous ne voulez pas, n'est-ce pas ? J'aime me préciser, mais peut-être. Donc, par exemple, disons que je dis x = 100, mais je veux vraiment que ce soit une virgule flottante. Je veux dire, 100. Quelque chose, non ? Mais je l'appelle 100 parce que c'est ma température initiale que je veux, mais je veux que ce soit une valeur à virgule flottante. Si je ne le précise pas, cela indiquera, eh bien, 100 pourrait être un entier, il le déduira comme un entier. Et puis si j'essaie de régler x sur 100,1, j'aurai un problème. J'aime donc spécifier le type, mais vous n'êtes pas obligé de le faire. Ensuite, initialisation après la déclaration. Vous pouvez donc simplement dire var x int, puis vous pouvez dire x = 100. Ensuite, il suivra la ligne. C'est une autre façon. Maintenant, si vous n'initialisez pas explicitement une variable, elle obtiendra toujours une valeur. Il obtiendra la valeur zéro pour son type. Donc, par exemple, disons que je dis var x int. La valeur 0 pour son type est 0, n'est-ce pas ? Donc x sera automatiquement assigné à un 0, initialisé à un 0, si je ne dis rien d'autre. Si je dis var x string, la valeur zéro d'une chaîne est juste la chaîne vide. Dans ce cas, x serait initialisé à la chaîne vide. Maintenant, une autre méthode d'initialisation des variables consiste à utiliser une courte déclaration de variable. Maintenant, dans ce cas, vous effectuez la déclaration et l' initialisation ensemble à l'aide de l'opérateur deux-points égal à deux points. Donc, sur la diapositive x : = 100, d'accord ? Quand vous dites cela, c'est un cas où x n'a pas encore été déclaré, n'est-ce pas ? Cette instruction déclare donc réellement x et l'initialise. Maintenant, en ce qui concerne la déclaration, ce qui se passe, c'est que lorsque vous utilisez ce deux-points égal, le type qu'il définit est celui qui se trouve sur le côté droit. Donc 100 dans ce cas. Il définit, il regarde 100, dit que c'est un entier et il en déduit que x est un entier , puis il l'affecte à la valeur 100. La variable est donc déclarée en tant que type d'expression, le type situé sur le côté droit. C'est le cas, ce type de déclaration de variable fait la déclaration et l'affectation en une seule ligne avec cet opérateur spécial. Vous ne pouvez le faire que dans une fonction. Vous ne pouvez donc pas faire une courte déclaration de variable en dehors d'une fonction, ce n'est pas légal. Donc, sache ça.