如何遍历列表并使用 goterm 包绘制表格?

我正在尝试使用goterm快速构建原型。我有一个结构体中的用户对象列表。我想输出一个标题行(作品)然后遍历列表(作品)并为每个用户添加一行。但是,使用下面的代码,控制台不会呈现任何内容。没有空行。没有。程序刚刚返回。我已经得到链接的例子,只处理标题行和数据行。通过迭代追加到表格中,因为我不工作。我确定我遗漏了一些非常基本的东西。帮助将不胜感激。我将继续黑客攻击。


func usersListOutputConsole(users *data.UserList) {

  userTable := tm.NewTable(0, 10, 5, ' ', 0)

  fmt.Fprintf(userTable, "ID\tName\tFull Name\tEmail\n") // the header row

  for _, user := range users.Data {

    fmt.Fprintf(userTable, "%d\t%s\t%s\t%s\n", user.ID,   user.Attributes["name"], user.Attributes["full_name"], user.Attributes["email"])

  }

  tm.Println(userTable)

  tm.Flush()

}


牛魔王的故事
浏览 182回答 1
1回答

炎炎设计

经过更多测试后,我发现实际上一切正常。我未能发现 goterm 和 Go 的原生 tabwriter 之间的区别在于前者更像是一个实际的终端程序并重绘屏幕。令人尴尬的是,期待滚动输出,我的终端窗口太小,无法输出 50 多行。在意识到这一点并发现我想要 tabwriter 的滚动输出后,我切换了,几分钟后一切都按预期工作。如果您正在寻找类似交互式的终端程序,goterm 是一个很棒的软件包。这不是我想要的,尽管我被它的格式化功能所吸引。简而言之,RTFM。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go