Maison >développement back-end >Golang >Comment puis-je implémenter la fonctionnalité ToString() personnalisée pour les objets non-string dans Go ?
Fonctionnalité ToString() personnalisée dans Go
Le langage Go fournit la fonction strings.Join pour concaténer des tranches de chaîne, mais que faire si vous le souhaitez joindre des objets arbitraires avec des représentations sous forme de chaîne personnalisées ? Cette question se pose lorsque vous devez transmettre des objets non-chaînes qui n'implémentent pas nativement la méthode ToString().
Interface ToString() personnalisée
Pour résoudre ce problème problème, une interface ToStringConverter personnalisée peut être créée :
type ToStringConverter interface { ToString() string }
Tout objet qui implémente cette interface peut ensuite être transmis à un Join modifié function :
func Join(a []ToStringConverter, sep string) string
Implémentation de ToString()
Pour activer les représentations de chaîne personnalisées, implémentez simplement la méthode String() pour tout type nommé :
package main import "fmt" type bin int func (b bin) String() string { return fmt.Sprintf("%b", b) } func main() { fmt.Println(bin(42)) }
Playground et sortie
Lien Playground : [http://play.golang.org/p/Azql7_pDAA](http://play.golang.org/p/Azql7_pDAA)
Sortie :
101010
Cette approche permet pour une plus grande flexibilité dans la concaténation de chaînes, vous permettant d'incorporer des objets non-chaînes avec des représentations de chaîne personnalisées.
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!