Für Protokollierungszwecke möchte ich in der Lage sein, eine Scheibe eines beliebigen Typs, sei es Ints, Strings oder benutzerdefinierte Strukturen, schnell in eine Datei in Go zu schreiben. Zum Beispiel in C#, kann ich folgendes in 1 Zeile tun:Schreiben Sie eine Scheibe eines beliebigen Typs in eine Datei in Go
File.WriteAllLines(filePath, myCustomTypeList.Select(x => x.ToString());
Wie würde ich mich über diese in Go tun? Die Strukturen implementieren die Stringer
Schnittstelle.
Edit: Ich insbesondere möchte die Ausgabe in eine Datei in eine Datei und eine Zeile pro Element in der Scheibe
Das ist eine ziemlich gute Lösung, aber wie würde ich über Putti gehen ng dies in eine Wrapper-Funktion. Was wäre beispielsweise der Typ für myCustomList, wenn ich ihn zusammen mit dem Dateipfad an eine Funktion übergeben möchte? – GabeMeister
Das funktioniert nicht. Sie können 'range' nicht für etwas vom Typ' interface {} 'verwenden. Es kompiliert nicht. –
@Andy Schweig Du hast Recht, das geht nicht. Wenn ich eine type assertion auf value aka 'value. (String)' verwende, dann kompiliert die Funktion, aber dann kann ich kein slice irgendeines Typs in die Funktion einfügen, ohne dass sich der Compiler beschweren muss. Sieht so aus, als wäre die idiomatische Lösung, nur Hilfsfunktionen für alle Typen zu erstellen, die ich verwende. – GabeMeister