以表格形式打印数据

我有一个代码,将值打印到 3 列,但我不能在直列中打印它们


fmt.Printf("%d       | %.1f      | %.5f      | \n", int(i), x, val)

我得到这个:


0       | 0.0      | error      | 

1       | 90.0      | error      |

2       | 180.0      | -0.00000      |

3       | 270.0      | 3.94795      |

4       | 360.0      | error      |

5       | 450.0      | error      |

6       | 540.0      | -0.00000      |

7       | 630.0      | 3.94795      |

8       | 720.0      | error      |

我在 go 中找不到这样做的方法。


慕雪6442864
浏览 132回答 1
1回答

白衣非少年

你可以看看tabwriter包 tabwriter 实现了一个写入过滤器 (tabwriter.Writer),它将输入中的选项卡列转换为正确对齐的文本。package mainimport (    "fmt"    "os"    "text/tabwriter")func main() {    w := tabwriter.NewWriter(os.Stdout, 10, 1, 1, ' ', tabwriter.Debug)    fmt.Fprintf(w, "%d\t%v\t%v\t\n", 0, 0.0, "error")    fmt.Fprintf(w, "%d\t%v\t%v\t\n", 0, 90.0, "error")    fmt.Fprintf(w, "%d\t%v\t%v\t\n", 7, 630.0, 3.94795)    w.Flush()}https://go.dev/play/p/_u5W46AZ5sq
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go