Une string en Go est une séquence immuable d'octets, qui ne représentent pas nécessairement des caractères.
Un littéral de chaîne de caractères se définit entre guillemets doubles :
const name = "Jane"
Les strings peuvent être concaténées via l'opérateur + :
"Jane" + " " + "Austen"
// => "Jane Austen"
Certains caractères spéciaux doivent être échappés à l'aide d'un antislash placé devant, comme \t pour une tabulation et \n pour un saut de ligne dans les strings.
"How is the weather today?\nIt's sunny"
// =>
// How is the weather today?
// It's sunny
Le paquet strings contient de nombreuses fonctions utiles pour travailler sur les strings.
Pour plus d'informations sur les fonctions qui manipulent les strings, consulte la documentation du paquet strings.
Voici quelques exemples :
import "strings"
// strings.ToLower returns the string given as argument with all its characters lowercased
strings.ToLower("MaKEmeLoweRCase")
// => "makemelowercase"
// strings.Repeat returns a string with a substring given as argument repeated many times
strings.Repeat("Go", 3)
// => "GoGoGo"
Il y a près d'ici un magasin d'électroménager qui s'appelle « Tech Palace ». Le propriétaire du magasin a récemment installé un grand écran pour diffuser des messages marketing et afficher une salutation spéciale lorsque les clients scannent leur carte de fidélité à l'entrée. L'écran est composé de nombreuses petites LED et peut afficher plusieurs lignes de texte.
Le propriétaire a besoin de ton aide pour le code qui génère le texte du nouvel écran.
Pour la plupart des clients qui scannent leur carte de fidélité, le propriétaire veut voir s'afficher "Welcome to the Tech Palace," suivi du nom du client en majuscules.
Implémente la fonction WelcomeMessage qui prend le nom du client comme argument de type string et renvoie le message souhaité sous forme de string.
WelcomeMessage("Judy")
// => Welcome to the Tech Palace, JUDY
Pour les clients fidèles qui achètent beaucoup dans le magasin, le propriétaire veut rendre l'affichage de bienvenue plus fantaisie en ajoutant une ligne d'étoiles avant et après le message de bienvenue. Il ne sait pas encore combien d'étoiles doivent figurer sur chaque ligne, il veut donc que ce soit configurable.
Écris une fonction AddBorder qui prend un message de bienvenue (un string) et le nombre d'étoiles par ligne (de type int) en arguments.
Elle doit renvoyer un string composé de 3 lignes : une ligne avec le nombre d'étoiles souhaité, puis le message de bienvenue tel qu'il a été transmis, puis une autre ligne d'étoiles.
AddBorder("Welcome!", 10)
Doit renvoyer ce qui suit :
**********
Welcome!
**********
Avant d'installer ce nouvel écran, le magasin en avait un similaire qui ne pouvait afficher que des lignes statiques non configurables. Le propriétaire aimerait réutiliser certains des anciens messages marketing sur le nouvel écran. Cependant, les données incluent déjà une bordure d'étoiles et quelques espaces indésirables. Ta tâche consiste à nettoyer les messages pour qu'ils puissent être réutilisés.
Implémente une fonction CleanUpMessage qui prend l'ancien message marketing sous forme de string.
La fonction doit d'abord retirer toutes les étoiles du texte, puis supprimer les espaces au début et à la fin du texte restant.
Elle doit ensuite renvoyer le message nettoyé.
message := `
**************************
* BUY NOW, SAVE 10% *
**************************
`
CleanUpMessage(message)
// => BUY NOW, SAVE 10%
Inscris-toi sur Exercism pour apprendre et maîtriser Go avec 34 concepts166 exercices, et un vrai mentorat humain, le tout gratuitement.