我想知道一个简单有效的方法来打印一个表。我找到的解决方案工作,但它真的很难看。
谢谢!
outfile := "file.tsv"
f, err := os.Create(outfile)
var buffer bytes.Buffer
buffer.WriteString(a[i])
buffer.WriteString("\t")
buffer.WriteString(a[j])
buffer.WriteString("\t")
buffer.WriteString(strconv.FormatFloat(x, 'f', 4, 64))
buffer.WriteString("\n")
// // write results to outfile
f.WriteString(buffer.String())
3条答案
按热度按时间8tntrjer1#
标准库中的
tabwriter
包对于这类事情来说是简单易行的:您可以将os.stdout替换为任何
io.Writer
。p5cysglq2#
例如,
输出:
如果你使用goroutine,这里有一个版本使用互斥锁来保护csv.Writer。
bvuwiixz3#
选择一个现有包可以简化你的代码,也可以增加代码的可维护性。试试go-pretty