Go - Cordes
Les chaînes, qui sont largement utilisées dans la programmation Go, sont une tranche d'octets en lecture seule. Dans le langage de programmation Go, les chaînes sontslices. La plate-forme Go fournit diverses bibliothèques pour manipuler des chaînes.
- unicode
- regexp
- strings
Création de chaînes
La façon la plus directe de créer une chaîne est d'écrire -
var greeting = "Hello world!"
Chaque fois qu'il rencontre une chaîne littérale dans votre code, le compilateur crée un objet chaîne avec sa valeur dans ce cas, "Hello world!".
Un littéral de chaîne contient une séquence UTF-8 valide appelée runes. Une chaîne contient des octets arbitraires.
package main
import "fmt"
func main() {
var greeting = "Hello world!"
fmt.Printf("normal string: ")
fmt.Printf("%s", greeting)
fmt.Printf("\n")
fmt.Printf("hex bytes: ")
for i := 0; i < len(greeting); i++ {
fmt.Printf("%x ", greeting[i])
}
fmt.Printf("\n")
const sampleText = "\xbd\xb2\x3d\xbc\x20\xe2\x8c\x98"
/*q flag escapes unprintable characters, with + flag it escapses non-ascii
characters as well to make output unambigous */
fmt.Printf("quoted string: ")
fmt.Printf("%+q", sampleText)
fmt.Printf("\n")
}
Cela produirait le résultat suivant -
normal string: Hello world!
hex bytes: 48 65 6c 6c 6f 20 77 6f 72 6c 64 21
quoted string: "\xbd\xb2=\xbc \u2318"
Note - Le littéral de chaîne est immuable, de sorte qu'une fois qu'il est créé, un littéral de chaîne ne peut pas être modifié.
Longueur de chaine
La méthode len (str) renvoie le nombre d'octets contenus dans la chaîne littérale.
package main
import "fmt"
func main() {
var greeting = "Hello world!"
fmt.Printf("String Length is: ")
fmt.Println(len(greeting))
}
Cela produirait le résultat suivant -
String Length is : 12
Concaténation de chaînes
Le package de chaînes comprend une méthode join pour concaténer plusieurs chaînes -
strings.Join(sample, " ")
Join concatène les éléments d'un tableau pour créer une seule chaîne. Le deuxième paramètre est le séparateur qui est placé entre les éléments du tableau.
Regardons l'exemple suivant -
package main
import ("fmt" "math" )"fmt" "strings")
func main() {
greetings := []string{"Hello","world!"}
fmt.Println(strings.Join(greetings, " "))
}
Cela produirait le résultat suivant -
Hello world!