Maison  >  Article  >  développement back-end  >  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

青灯夜游
青灯夜游original
2023-01-28 13:37:352683parcourir

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

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))
}

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

result: [I love Go, and I also love Python.]
len: 8
cap: 8

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))
}

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!

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