我有一个代码,将值打印到 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 中找不到这样做的方法。
                    
                    
                1 回答
 
                    
                    
                            白衣非少年
                            
                                
                            
                        
                        
                                                
                    TA贡献1155条经验 获得超0个赞
你可以看看tabwriter
包 tabwriter 实现了一个写入过滤器 (tabwriter.Writer),它将输入中的选项卡列转换为正确对齐的文本。
package main
import (
"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
- 1 回答
- 0 关注
- 135 浏览
添加回答
举报
0/150
	提交
		取消
	