Maison > développement back-end > Golang > le corps du texte

Comment diviser une chaîne en fonction du premier élément dans Golang ?

Patricia Arquette
Libérer: 2024-11-08 21:30:02
original
275 Les gens l'ont consulté

How to Split a String Based on the First Element in Golang?

Diviser une chaîne en fonction du premier élément dans Golang

Lors de l'analyse des noms de branches git, il est essentiel de diviser la chaîne en télécommande et nom de la succursale. Bien qu'au départ, la division par la première barre oblique semblait logique, des défis sont survenus lorsque les noms de branche contenaient plusieurs barres obliques.

Approche initiale

La mise en œuvre initiale reposait sur le premier élément de la division. tranche.

<code class="go">func ParseBranchname(branchString string) (remote, branchname string) {
    branchArray := strings.Split(branchString, "/")
    remote = branchArray[0]
    branchname = branchArray[1]
    return
}</code>
Copier après la connexion

Révisé Approche

Pour accommoder les noms de branches avec des barres obliques, le code a été modifié pour fusionner les éléments restants sur la barre oblique.

<code class="go">func ParseBranchname(branchString string) (remote, branchname string) {
    branchArray := strings.Split(branchString, "/")
    remote = branchArray[0]

    copy(branchArray[0:], branchArray[0+1:])
    branchArray[len(branchArray)-1] = ""
    branchArray = branchArray[:len(branchArray)-1]

    branchname = strings.Join(branchArray, "/")
    return
}</code>
Copier après la connexion

Solution alternative utilisant SplitN

Pour les versions Go 1.18 et supérieures, une solution alternative est disponible en utilisant strings.SplitN avec n=2. Cela limite le résultat à seulement deux sous-chaînes, obtenant ainsi efficacement la division souhaitée.

<code class="go">func ParseBranchname(branchString string) (remote, branchname string) {
    branchArray := strings.SplitN(branchString, "/", 2)
    remote = branchArray[0]
    branchname = branchArray[1]
    return
}</code>
Copier après la connexion

Cette solution simplifie le processus en extrayant directement les sous-chaînes nécessaires sans manipulation supplémentaire.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!