Parcours
/
Go
Go
/
Programme
/
Chaînes de caractères
Ch

Chaînes de caractères en Go

1 exercice

À propos de Chaînes de caractères

En Go, une string est une séquence immuable d'octets, qui ne représentent pas nécessairement des caractères.

Un littéral de chaîne se définit entre guillemets doubles :

const name = "Jane"

On peut concaténer des strings avec l'opérateur + :

"Jane" + " " + "Austen"
// => "Jane Austen"

Certains caractères spéciaux doivent être échappés avec une barre oblique inversée en préfixe, comme \t pour une tabulation et \n pour un saut de ligne à l'intérieur des 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 manipuler les strings. Pour plus d'informations sur les fonctions de manipulation de chaînes, 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"

Les caractères spéciaux

Comme mentionné précédemment, certains caractères spéciaux doivent être échappés avec une barre oblique inversée en préfixe. Voici une liste plus détaillée de ces caractères spéciaux :

Valeur Description
\a Alerte ou sonnerie
\b Retour arrière
\\ Barre oblique inversée
\t Tabulation horizontale
\n Saut de ligne
\f Saut de page
\r Retour chariot
\v Tabulation verticale
\' Guillemet simple
\" Guillemet double
fmt.Println("Joe\nWilliam\nJack\nAverell") 

// Output:
// Joe
// William
// Jack
// Averell

Les littéraux de chaîne bruts

Les littéraux de chaîne bruts utilisent des accents graves (`) comme délimiteur au lieu des guillemets doubles, et tous les caractères qu'ils contiennent sont interprétés littéralement, ce qui signifie qu'il n'est pas nécessaire d'échapper les caractères ni les sauts de ligne.

Voici un exemple de chaîne sur plusieurs lignes :

const daltons = `Joe
William
Jack
Averell`

Cette string contient plusieurs lignes. Plus précisément, elle contient 3 \n. Cependant, comme il s'agit d'un littéral de chaîne brut, il n'est pas nécessaire d'écrire explicitement \n dans la string. Les sauts de ligne sont interprétés littéralement.

Voici quelques autres exemples qui comparent les littéraux de chaîne bruts aux littéraux de chaîne classiques :

`abc`
// same as "abc"

"\"" // regular string literal with 1 character: a double quote
// same as `"` a raw string literal with 1 character: a double quote

`\n
` // raw string literal with 3 character: a backslash, an 'n', and a newline
// same as "\\n\n"  a regular string literal with 3 characters: a backslash, an 'n', and a newline

"\t\n" // regular string literal with 2 characters: a tab and a newline
`\t\n`// raw string literal with 4 characters: two backslashes, a 't', and an 'n'
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet

Apprends Chaînes de caractères