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.
Nous avons donc déjà parlé de chaînes de caractères. Les chaînes sont une construction courante. Vous les trouverez dans tous les langages de programmation, et les chaînes sont composées de runes Unicode Unicode. Ils sont simples, en gros, un raid de runes. Il existe donc un package appelé package Unicode qui fournit un ensemble de fonctions qui évaluent réellement les propriétés des différentes runes contenues dans les chaînes. Et c'est utile si vous avez déjà fait de l'analyse, vous savez, si vous voulez analyser une chaîne de n'importe quel fichier. Ou peut-être que quelqu'un a saisi directement comme entrée utilisateur et que vous voulez évaluer cette chaîne lorsque vous effectuez une analyse syntaxique, vous avez besoin de fonctions comme celles-ci. Le package Unicode fournit donc un long ensemble de fonctions pour évaluer les runes. Certaines d'entre elles ici, sont IsDigit, vous indique si la rune est un chiffre, un chiffre numérique. IsSpace- est-ce un personnage spatial ? IsLetter est la lettre minuscule, ISPunct- est la ponctuation. Elles sont donc toutes du type binaire-booléen correct. Elles renvoient donc vrai ou faux selon que la rune est ce qu'elle dit être, s'il s'agit d'un chiffre ou d'un espace, etc. Il existe également un ensemble d'autres fonctions qui effectuent des conversions. Certaines de ces conversions sont donc possibles. Par exemple ToUpper et ToLower. Vous pouvez prendre une minuscule (r rune), la transformer en majuscule (r rune). Et vice versa. Ils fournissent donc des fonctions pour cela. Ils prennent donc une (rune), comme ToUpper, il prend une (rune r), qui est en minuscule et renvoie un qui est en majuscule et ainsi de suite. Un package Unicode est donc utile pour cela. Mais il existe d'autres packages qui sont également impliqués dans la manipulation de chaînes. Voici le package de chaînes. Donc, le package de chaînes. Les fonctions qu'il fournit sont destinées à être utilisées directement. Ne regardez pas l'individu en général, mais regardez l'ensemble de la chaîne. Il propose donc un ensemble de fonctions de recherche. À l'intérieur du package de cordes. Ce sont des fonctions courantes que vous pouvez également voir dans de nombreuses langues différentes. Ainsi, par exemple, le premier serait de comparer. Comparez (a, b), vous lui donnez deux chaînes et il compare pour voir si elles sont égales. Et en fait, cette fonction de comparaison renvoie un -1. Il renvoie 0 s'ils sont égaux, il renvoie un -1 si a est inférieur à b, c' est-à-dire antérieur à celui-ci, dans l'ordre alphanumérique. Et A, il renvoie un résultat positif, si A est supérieur à B, donc si A est postérieur à B dans l'ordre alphanumérique. Donc, pour comparer, contient, donc vous donnez à S une chaîne, puis une sous-chaîne, si cette sous-chaîne est contenue dans S, elle renvoie vrai, sinon faux. Avoir un préfixe, c'est pourquoi vous lui donnez une chaîne s et un préfixe. Si cela renvoie vrai, si ce préfixe est le, s commence par un préfixe et un index s et que vous passez à une sous-chaîne, cela fait une recherche, il recherche la sous-chaîne dans s. Et il vous renvoie l'index indiquant où se trouve la première instance, instance de cette sous-chaîne dans un [INAUDIBLE]. Il s'agit donc du package de la chaîne. Désormais, le package de la chaîne fournit également un ensemble de fonctions qui manipulent les chaînes. Maintenant, quand je dis manipuler, vous pouvez dire change de chaîne, une chaîne est mutable. Mais il existe de nombreuses fonctions qui prennent une chaîne existante et renvoient une nouvelle chaîne. C'est une méthode modifiée et utile. Le premier sera donc remplacé. Avec replace, vous prenez essentiellement une chaîne et cela vous permet de remplacer des instances chaque fois qu'il la trouve dans un ancien courant, il la remplace par des courants de nouveau. Ce sont donc toutes des chaînes. Il y a donc une grosse chaîne S C'est une sous-chaîne ancienne et une autre sous-chaîne nouvelle. Remplace les anciennes instances par les nouvelles. Et revenez à une nouvelle chaîne. Donc, la chaîne d'origine n'est pas réellement modifiée. Cela vous renvoie à une nouvelle chaîne avec des remplacements pour ToLower, ToUpper. Cela prendra donc toute la chaîne et la remplacera en minuscules ou en majuscules. Je n'arrête pas de dire « changement ». Cela ne change pas la chaîne. Elle renvoie une nouvelle chaîne qui est modifiée. De plus, l'espace de découpe est utile. Cela élimine l'espace lumineux principal et arrière d'une chaîne. Cela se produit donc souvent lorsque vous lisez un fichier contenant, par exemple, et peut-être que les jetons du fichier sont séparés par des espaces. Ainsi, si vous lisez simplement directement dans le fichier, vous lirez également ces espaces, mais vous n'en avez pas besoin. Tu as juste besoin du jeton. Vous pouvez donc appeler TrimSpace pour supprimer les espaces. Un autre package qui possède de nombreuses fonctions utiles pour les chaînes est le package Strconv. Cela fournit donc généralement un ensemble de fonctions permettant de convertir des chaînes de différents types de données de base vers et depuis différents types de données de base. Certains des plus importants sont donc Atoi, car ascii to integer est ce que cela signifie. Et convertit une chaîne en entier si cette chaîne représente un entier. Disons que vous êtes en train de lire une chaîne dans un fichier et que la chaîne est un nombre 123 cent vingt-trois. Maintenant, quand vous lisez ça, et que vous le lisez sous forme de chaîne, vous ne pouvez pas faire de maths sur une chaîne, n'est-ce pas ? Vous ne pouvez pas prendre ce 123 et y ajouter 1 car c'est un type chaîne, pas un type Int. Vous devez donc lire cette chaîne et la convertir en Int. Ensuite, tu pourras faire des calculs dessus. Vous utiliseriez donc Atoi pour faire ce genre de chose. Et Itoa fait le contraire. Il convertit un Int en une chaîne, une chaîne équivalente. Ensuite, FormatFloat fait essentiellement la même chose pour float. Il convertit donc un nombre à virgule flottante en une représentation sous forme de chaîne de ce nombre à virgule flottante. Et puis ParseFloat fait le contraire, convertit une chaîne en un nombre à virgule flottante. Donc une chaîne, donc si vous avez une chaîne. 123,45, et dans une chaîne, elle peut la convertir en virgule flottante, le nombre que vous pouvez réellement faire selon la méthode.