Maison >développement back-end >Golang >Comment puis-je convertir un tableau Go []int en une chaîne délimitée sur une seule ligne ?

Comment puis-je convertir un tableau Go []int en une chaîne délimitée sur une seule ligne ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-05 21:28:15248parcourir

How Can I Convert a Go []int Array to a Delimited String in One Line?

One-Liner pour convertir []int en chaîne avec un délimiteur personnalisé

Dans ce défi de code, nous cherchons à transformer un tableau d'entiers, tels que []int {1, 2, 3}, dans une chaîne délimitée, par exemple "1, 2, 3". Le délimiteur personnalisé peut varier en fonction d'exigences spécifiques, comme une virgule (',') ou un espace (' ').

Bien que les solutions traditionnelles dans les langages de programmation comme Python et Go fournissent des moyens de concaténer des chaînes, elles supposent souvent le tableau sous-jacent est déjà de type []string. Cette limitation incite les développeurs à trouver des one-liners qui convertissent de manière transparente []int au format souhaité.

Pour relever ce défi, nous présentons trois options succinctes qui exploitent la puissance inhérente de la bibliothèque standard de Go :

func arrayToString(a []int, delim string) string {
    return strings.Trim(strings.Replace(fmt.Sprint(a), " ", delim, -1), "[]")
    //return strings.Trim(strings.Join(strings.Split(fmt.Sprint(a), " "), delim), "[]")
    //return strings.Trim(strings.Join(strings.Fields(fmt.Sprint(a)), delim), "[]")
}

Ces one-liners fonctionnent en manipulant la représentation d'un tableau d'entiers sous forme de chaîne. Voici un aperçu des étapes à suivre :

  1. fmt.Sprint(a): Transforme le tableau d'entiers a en une représentation sous forme de chaîne. La chaîne résultante apparaît sous la forme d'une tranche de nombres entre crochets, par exemple "[1 2 3]".
  2. strings.Replace : Échange les espaces (' ') dans la chaîne avec le délimiteur spécifié. Cette étape introduit la séparation souhaitée entre les valeurs entières.
  3. strings.Trim : Supprime les crochets gauche et droit ("[]") de la chaîne résultante. Le résultat est une chaîne séparée par des virgules (ou tout autre délimiteur personnalisé) représentant le tableau d'entiers d'origine.

Par exemple, en utilisant le code avec []int{1, 2, 3} et une virgule delimiter ',' :

result := arrayToString([]int{1, 2, 3}, ",")
// Output: "1,2,3"

Ces one-liners fournissent une solution concise et efficace pour convertir des tableaux d'entiers en tableaux délimités chaînes en Go, offrant une flexibilité dans la sélection du séparateur souhaité.

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