Maison > développement back-end > Golang > le corps du texte

Compétences en matière de traitement de chaînes et de conversion de codage de caractères des fonctions Golang

PHPz
Libérer: 2023-05-18 14:30:22
original
1049 Les gens l'ont consulté

Golang est un langage de programmation qui fournit des fonctions très puissantes et riches de traitement de chaînes et de conversion d'encodage de caractères. Cet article présentera les techniques de traitement de chaînes et de conversion de codage de caractères couramment utilisées dans les fonctions Golang pour aider les lecteurs à mieux comprendre et utiliser Golang.

1. Traitement des chaînes

  1. Connexion aux chaînes

Dans Golang, vous pouvez utiliser le symbole "+" Connecter différentes chaînes ensemble, par exemple :

str1 := "Hello"
str2 := "World"
str3 := str1 + " " + str2
fmt.Println(str3) //输出 "Hello World"
Copier après la connexion

De plus, vous pouvez également utiliser la fonction "fmt.Sprintf" pour convertir des variables de différents types de données en chaînes et les connecter, par exemple : #🎜🎜 #

num := 10
str := fmt.Sprintf("Number is %d", num)
fmt.Println(str) //输出 "Number is 10"
Copier après la connexion

    Interception et épissage de chaînes
Utilisez le découpage de chaînes de Golang pour obtenir des sous-chaînes, réalisant ainsi la fonction d'interception de chaînes. Par exemple :

str := "Hello World"
substr := str[0:5]
fmt.Println(substr) //输出 "Hello"
Copier après la connexion

De plus, vous pouvez également utiliser la fonction "strings.Join" pour concaténer plusieurs chaînes en une seule, par exemple :

strs := []string{"Hello", "World"}
result := strings.Join(strs, " ")
fmt.Println(result) //输出 "Hello World"
Copier après la connexion

    String Find and Replace
Utilisez la fonction "strings.Index" de Golang pour trouver la position de la sous-chaîne spécifiée dans la chaîne d'origine, par exemple :

str := "Hello World"
idx := strings.Index(str, "World")
fmt.Println(idx) //输出 6
Copier après la connexion

If vous souhaitez Pour remplacer une sous-chaîne dans une chaîne par une autre sous-chaîne, vous pouvez utiliser la fonction "strings.Replace", par exemple :

str := "Hello World"
newstr := strings.Replace(str, "World", "Golang", 1)
fmt.Println(newstr) //输出 "Hello Golang"
Copier après la connexion

Note : Le dernier paramètre de la fonction "strings.Replace" indique le nombre de remplacements. S'il est défini sur -1, cela signifie tout remplacer.

    Conversion de chaînes
Utilisez la fonction "strconv" de Golang pour convertir d'autres types de données en types de chaînes, par exemple : #🎜🎜 #
num := 10
str := strconv.Itoa(num)
fmt.Println(str) //输出 "10"
Copier après la connexion
# 🎜🎜#Pour convertir des chaînes en d'autres types de données, vous pouvez utiliser la série de fonctions "strconv.Parse", par exemple :

str := "10"
num, _ := strconv.Atoi(str)
fmt.Println(num) //输出 10
Copier après la connexion

Remarque : la fonction "strconv.Atoi" renvoie deux valeurs, si vous le souhaitez pour utiliser directement les données converties, vous devez utiliser "_" pour ignorer la deuxième valeur de retour.

2. Conversion d'encodage de caractères

Golang prend en charge plusieurs formats d'encodage de caractères, tels que UTF-8, GBK, etc. Ce qui suit présentera les fonctions de conversion de codage de caractères couramment utilisées dans les fonctions Golang.

Conversion d'encodage de caractères

  1. Utilisez le package "unicode/utf8" et "bytes" de Golang pour réaliser la conversion d'encodage de caractères. Par exemple, convertissez une chaîne encodée en UTF-8 en encodage GBK :
  2. str := "你好,世界"
    newstr, _ := ioutil.ReadAll(transform.NewReader(bytes.NewReader([]byte(str)), simplifiedchinese.GBK.NewEncoder()))
    fmt.Println(newstr) //输出 "浣犲ソ£?涓枃"
    Copier après la connexion
Remarque : La fonction de conversion d'encodage de caractères renvoie deux valeurs, la première est la nouvelle chaîne convertie et la seconde est un message d'erreur. Pour utiliser directement la nouvelle chaîne convertie, vous devez utiliser "_" pour ignorer la deuxième valeur de retour.

Jugement d'encodage de caractères

  1. Utilisez le package "unicode/utf8" de Golang pour déterminer si l'encodage de caractères d'une chaîne spécifiée est conforme à un certain format . Par exemple :
  2. str := "你好,世界"
    isutf8 := utf8.Valid([]byte(str))
    fmt.Println(isutf8) //输出 true
    Copier après la connexion
Le code ci-dessus détermine si l'encodage des caractères de la chaîne spécifiée est au format UTF-8. Si c'est le cas, il renvoie "true", sinon il renvoie "false".

Convertisseur d'encodage de caractères

  1. Utilisez le package "charset" de Golang pour convertir des chaînes avec différents encodages de caractères en encodage UTF-8. Par exemple, convertissez une chaîne encodée en GB2312 en encodage UTF-8 :
  2. str := "你好,世界"
    decoder := simplifiedchinese.GB18030.NewDecoder()
    newstr, _ := decoder.String(str)
    fmt.Println(newstr) //输出 "你好,世界"
    Copier après la connexion
    Remarque : Le convertisseur d'encodage de caractères "décodeur" est utilisé dans le code ci-dessus pour convertir une chaîne encodée en GB2312 en UTF-8. codage.

    Conclusion

    Cet article présente les techniques de traitement de chaîne et de conversion d'encodage de caractères couramment utilisées dans Golang, notamment la concaténation de chaînes, l'interception, la recherche, le remplacement, la conversion et la conversion d'encodage de caractères. jugement, convertisseur, etc. J'espère que les lecteurs pourront mieux comprendre et utiliser Golang grâce à cet article.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal