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!