Maison > développement back-end > Golang > Quelle est l'utilisation de la méthode split dans le langage Go

Quelle est l'utilisation de la méthode split dans le langage Go

青灯夜游
Libérer: 2023-01-28 13:37:35
original
2888 Les gens l'ont consulté

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)".

Quelle est l'utilisation de la méthode split dans le langage Go

L'environnement d'exploitation de ce tutoriel : système Windows 7, GO version 1.18, ordinateur Dell G3.

méthode de division du langage go

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)
Copier après la connexion
ParamètresDescriptionRemarques
sChaî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.

Exemple d'utilisation

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))
}
Copier après la connexion

Les résultats d'exécution sont les suivants :

result: [I love Go, and I also love Python.]
len: 8
cap: 8
Copier après la connexion

Notes

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))
}
Copier après la connexion

Les résultats d'exécution sont les suivants :

result: [I love Go, and I also love Python.]
len: 1
cap: 1
Copier après la connexion

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))
}
Copier après la connexion

Résultats de l'opération :

result: [G o]
len: 2
cap: 2
Copier après la connexion

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))
}
Copier après la connexion

Résultat d'exécution :

result: []
len: 0
cap: 0
Copier après la connexion

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 == "")
}
Copier après la connexion

Résultat de l'exécution :

result: []
len: 1
cap: 1
string_slice[0]:, type:string, len():0
element == ""? true
Copier après la connexion

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!

Étiquettes associées:
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