Maison > Article > développement back-end > Quelle est l'utilisation de la méthode split dans le langage Go
Dans le langage Go, la méthode Split() est utilisée pour diviser une chaîne. Vous pouvez utiliser des délimiteurs pour diviser la chaîne en une liste de sous-chaînes, et les sous-chaînes sont renvoyées sous forme de tranches. Split() est une méthode du package strings. Vous devez importer le package strings avant de l'utiliser. La syntaxe est "strings.Split (chaîne à diviser, délimiteur)".
L'environnement d'exploitation de ce tutoriel : système Windows 7, GO version 1.18, ordinateur Dell G3.
Dans Go, la fonction Split() (contenue dans le package strings) utilise des délimiteurs pour diviser une chaîne en une liste de sous-chaînes. La sous-chaîne est renvoyée sous forme de tranche.
Syntaxe
Besoin d'importer le package de chaînes
strings.Split(s, sep)
Paramètres | Description | Remarques |
s | Chaîne à diviser | Paramètres de type chaîne |
sep | Délimiteur | Paramètres de type chaîne |
Valeur de retour
Renvoie une tranche de chaîne.
La fonction Split() divise la chaîne en fonction du délimiteur. Après la coupe, une chaîne slice est renvoyée. Les valeurs slice len et cap sont égales au nombre de délimiteurs présents dans la chaîne d'origine + 1 (uniquement vrai si s n'est pas une chaîne vide).
package main import ( "fmt" "strings" ) func main() { demo := "I&love&Go,&and&I&also&love&Python." string_slice := strings.Split(demo, "&") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) }
Les résultats d'exécution sont les suivants :
result: [I love Go, and I also love Python.] len: 8 cap: 8
1. Lorsque le séparateur n'existe pas dans la chaîne d'origine
Lorsque le séparateur n'existe pas dans la chaîne d'origine, Split( ) La fonction convertit uniquement la chaîne d'origine en une tranche de chaîne avec les valeurs len et cap 1.
package main import ( "fmt" "strings" ) func main() { demo := "I love Go, and I also love Python." string_slice := strings.Split(demo, "&") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) }
Les résultats d'exécution sont les suivants :
result: [I love Go, and I also love Python.] len: 1 cap: 1
2. Lorsque le séparateur est une chaîne vide
Lorsque le séparateur est une chaîne vide, la fonction Split() divise chaque caractère de la chaîne en un seul. éléments.
package main import ( "fmt" "strings" ) func main() { demo := "Go" string_slice := strings.Split(demo, "") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) }
Résultats de l'opération :
result: [G o] len: 2 cap: 2
3. Les paramètres sont tous des chaînes vides
Lorsque les deux paramètres de la fonction Split() sont tous deux des chaînes vides (c'est-à-dire que s et sep sont tous deux des chaînes vides), La fonction Split() renvoie une tranche de chaîne vide avec les valeurs len et cap 0.
package main import ( "fmt" "strings" ) func main() { demo := "" string_slice := strings.Split(demo, "") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) }
Résultat d'exécution :
result: [] len: 0 cap: 0
4. Lorsque s est une chaîne vide et que sep n'est pas une chaîne vide
C'est différent du scénario précédent, bien que le résultat soit toujours une chaîne Slice. , mais les valeurs len et cap de la tranche de chaîne sont 1 (au lieu de 0 comme dans le scénario précédent). Le résultat renvoyé est une tranche de chaîne contenant une chaîne vide.
package main import ( "fmt" "strings" ) func main() { demo := "" string_slice := strings.Split(demo, "*") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) element := string_slice[0] fmt.Printf("string_slice[0]:%s, type:%T, len():%d\n", element, element, len(element),) fmt.Println("element == \"\"?", element == "") }
Résultat de l'exécution :
result: [] len: 1 cap: 1 string_slice[0]:, type:string, len():0 element == ""? true
5. La tranche de chaîne renvoyée ne contient plus de délimiteurs
[Recommandations associées : Tutoriel vidéo Go, Enseignement de la programmation]
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!