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
- 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
- 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 :
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
- 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 :
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
- 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 :
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. ConclusionCet 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!