131 votes

Fonction ToString() en Go

El strings.Join ne prend que des tranches de chaînes de caractères :

s := []string{"foo", "bar", "baz"}
fmt.Println(strings.Join(s, ", "))

Mais il serait agréable de pouvoir passer des objets arbitraires qui implémentent une fonction de type ToString() fonction.

type ToStringConverter interface {
    ToString() string
}

Existe-t-il quelque chose comme cela dans Go ou dois-je décorer les types existants comme int avec les méthodes ToString et écrire un wrapper autour de strings.Join ?

func Join(a []ToStringConverter, sep string) string

-7voto

JSS Points 11

Je préfère quelque chose comme ce qui suit :

type StringRef []byte

func (s StringRef) String() string {
        return string(s[:])
}

…

// rather silly example, but ...
fmt.Printf("foo=%s\n",StringRef("bar"))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X