2017-07-21 1 views
0

Ich möchte einen Zeilenumbruch drucken, aber wenn ich einen Zeilenumbruch hinzufüge, ändert sich das Format, hier ist der Code.Wie fügt man einen neuen Zeilenumbruch in den Tabwriter ein?

q := tabwriter.NewWriter(os.Stdout, 0, 0, 3, ' ', tabwriter.AlignRight|tabwriter.Debug) 

fmt.Fprintf(q, "Replica\tStatus\tDataUpdateIndex\t\n") 
fmt.Fprintf(q, "\n") 
for i := 0; i < 4; i += 3 { 
    fmt.Fprintf(q, "%s\t%s\t%s\t\n", statusArray[i], statusArray[i+1], statusArray[i+2]) 
      } 

Wie fügt man Newline hinzu, ohne das Format zu beeinflussen?

Antwort

2

Wie in der Dokumentation angegeben (Schwerpunkt liegt mir):

Tab-terminierten Zellen in zusammenhängenden Linien eine Spalte bilden.

https://golang.org/pkg/text/tabwriter/#Writer

Wenn Sie die neue Zeile im Code einzufügen, trennen sich, um die Header und den Inhalt Linien, so dass sie nicht als „Spalten“ behandelt werden.

Um dies zu beheben, legen Sie in Ihrem Zeilenumbruch eine leere Zeile mit der gleichen Anzahl von Spalten (aber leer) ein.

fmt.Fprintf(q, "Replica\tStatus\tDataUpdateIndex\t\n") 
fmt.Fprintf(q, "\t\t\t\n") // blank line 
for i := 0; i < 4; i += 3 { 
    fmt.Fprintf(q, "%s\t%s\t%s\t\n", statusArray[i], statusArray[i+1], statusArray[i+2]) 
} 
+0

danke @eugenioy, das ist was ich getan habe :), aber ich möchte "|" ebenfalls. –

Verwandte Themen