Maison >développement back-end >Golang >Compétences en matière de traitement de chaînes et de conversion de codage de caractères des fonctions Golang

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

PHPz
PHPzoriginal
2023-05-18 14:30:221096parcourir

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"

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"

    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"

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"

    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

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"

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"
# 🎜🎜#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

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) //输出 "浣犲ソ£?涓枃"
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
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) //输出 "你好,世界"
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!

Déclaration:
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