Benutzerdefinierte ToString()-Funktionalität in Go
Die Go-Sprache stellt die strings.Join-Funktion zum Verketten von String-Slices bereit, aber was ist, wenn Sie möchten? beliebige Objekte mit benutzerdefinierten Zeichenfolgendarstellungen verbinden? Diese Frage stellt sich, wenn Sie Nicht-String-Objekte übergeben müssen, die die ToString()-Methode nicht nativ implementieren.
Benutzerdefinierte ToString()-Schnittstelle
Um dieses Problem zu beheben Problem kann eine benutzerdefinierte ToStringConverter-Schnittstelle erstellt werden:
type ToStringConverter interface { ToString() string }
Jedes Objekt, das diese Schnittstelle implementiert, kann dann an einen geänderten Join übergeben werden Funktion:
func Join(a []ToStringConverter, sep string) string
ToString() implementieren
Um benutzerdefinierte String-Darstellungen zu aktivieren, implementieren Sie einfach die String()-Methode für einen beliebigen benannten Typ:
package main import "fmt" type bin int func (b bin) String() string { return fmt.Sprintf("%b", b) } func main() { fmt.Println(bin(42)) }
Spielplatz und Ausgabe
Spielplatz-Link: [http://play.golang.org/p/Azql7_pDAA](http://play.golang.org/p/Azql7_pDAA)
Ausgabe:
101010
Dieser Ansatz ermöglicht für mehr Flexibilität bei der String-Verkettung, sodass Sie Nicht-String-Objekte mit benutzerdefinierten String-Darstellungen integrieren können.
Das obige ist der detaillierte Inhalt vonWie kann ich die benutzerdefinierte ToString()-Funktionalität für Nicht-String-Objekte in Go implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!