Go, en tant que langage de programmation puissant, fournit de nombreuses fonctions et méthodes de traitement de chaînes. Afin que nous puissions mieux maîtriser ces connaissances, cet article présentera le type de chaîne et les fonctions de base de traitement des chaînes dans Go, notamment la création, la concaténation, la coupe, la comparaison et la recherche de chaînes.
Dans Go, le type de chaîne est défini comme une séquence de caractères en lecture seule, tapez chaîne. Une valeur de chaîne est composée d'une séquence de caractères entourée d'une paire de guillemets doubles, par exemple :
str := "Hello, world!"
Les chaînes sont en lecture seule et nous ne pouvons pas modifier certains caractères de la chaîne. Vous pouvez modifier la valeur d'une chaîne en la réattribuant, par exemple :
str := "Hello, world!" str = "Hello, Golang!"
Il existe de nombreuses façons de créer des chaînes, en voici quelques-unes :
Par exemple :
str := "Hello, world!"
Cette méthode est la méthode la plus simple et la plus couramment utilisée. Il convient de noter que dans Go, les caractères spéciaux dans les chaînes entre guillemets doivent être représentés par des caractères d'échappement, par exemple :
str := "This is a "quoted" string."
Créer des chaînes via des tableaux de caractères est également un moyen réalisable, par exemple :
str := []byte{'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!'} str_1 := string(str)
Le code ci-dessus crée un tableau de caractères de type octet et le convertit en type chaîne. Il convient de noter que dans Go, les chaînes et les tableaux de caractères sont de deux types différents.
Nous pouvons utiliser la fonction fmt.Sprintf pour créer une chaîne, similaire à la fonction sprintf en langage C. Par exemple :
str := fmt.Sprintf("The value of x is %d", x)
La concaténation de chaînes peut utiliser l'opérateur "+", par exemple :
str1 := "Hello" str2 := ", world!" result := str1 + str2
ou utiliser la fonction fmt.Sprintf, par exemple :
str1 := "Hello" str2 := ", world!" result := fmt.Sprintf("%s%s", str1, str2)
Il est à noter que le La concaténation de chaînes générera de nouvelles chaînes, et lorsqu'il y a de nombreuses opérations, un grand nombre de chaînes temporaires seront générées, ce qui peut affecter les performances du programme.
String Cutting peut utiliser la fonction Split dans le package strings, par exemple :
str := "apple,orange,peach" slice := strings.Split(str, ",")
Le code ci-dessus utilise des virgules comme séparateur pour couper la chaîne str en une tranche.
La comparaison de chaînes peut utiliser l'opérateur "==" ou la fonction Equal dans le package de chaînes, par exemple :
str1 := "Hello" str2 := "world" equal := (str1 == str2) equal_1 := strings.EqualFold(str1, str2)
Le code ci-dessus utilise l'opérateur "==" et la fonction Equal dans le package de chaînes respectivement. La fonction EqualFold compare deux chaînes pour l'égalité.
Il convient de noter que dans Go, la comparaison de chaînes est sensible à la casse. Si vous devez ne pas respecter la casse, vous pouvez utiliser la fonction EqualFold dans le package de chaînes.
Go fournit plusieurs fonctions pour rechercher des chaînes, notamment :
str := "Hello, world!" contains := strings.Contains(str, "world") // 返回true
str := "Hello, world!" index := strings.Index(str, "world") // 返回7
str := "Hello, world!" index := strings.LastIndex(str, "o") // 返回8
str := "Hello, world!" hasPrefix := strings.HasPrefix(str, "Hello") // 返回true
str := "Hello, world!" hasSuffix := strings.HasSuffix(str, "world!") // 返回true
Résumé
Cet article présente les fonctions et méthodes de base de traitement des chaînes. Dans le développement réel, nous utiliserons davantage d'opérations sur les chaînes, telles que le remplacement, la conversion de casse, la sortie formatée, etc. Les lecteurs qui ont besoin d’une compréhension approfondie peuvent se référer aux documents officiels et aux exemples de codes pour un apprentissage plus approfondi.
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!