• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Go 每日一库之termtables的使用

    今天学个简单点的😀,termtables处理表格形式数据的输出。适用于随时随地的输出一些状态或统计数据,便于观察和调试。是一个很小巧的工具库。我在学习dateparse库时偶尔见遇到了这个库。

    快速使用

    本文代码使用 Go Modules。
    创建目录并初始化:

    $ mkdir termtables  cd termtables
    $ go mod init github.com/darjun/go-daily-lib/termtables
    

    安装termtables库:

    $ go get -u github.com/scylladb/termtables

    最原始的termtables库为github.com/apcera/termtables,然后原始仓库已经被删除了。目前使用的都是其他人 fork 的仓库。
    使用:

    package main
    
    import (
      "fmt"
      "github.com/scylladb/termtables"
    )
    
    func main() {
      t := termtables.CreateTable()
      t.AddHeaders("User", "Age")
      t.AddRow("dj", 18)
      t.AddRow("darjun", 30)
      fmt.Println(t.Render())
    }
    
    

    运行:

    $ go run main.go
    +--------+-----+
    | User   | Age |
    +--------+-----+
    | dj     | 18  |
    | darjun | 30  |
    +--------+-----+
    

    使用很方便,首先调用termtables.CreateTable()创建一个表格对象,调用该对象的AddHeader()方法添加头部信息,然后调用AddRow()逐行添加数据。最后调用Render()返回渲染后的表格字符串。

    模式

    处理普通的文本表格,termtables还支持输出 HTML 和 Markdown 格式的表格。只需要调用表格对象的SetModeHTML()/SetModeMarkdown()方法设置一些模式即可 。

    func main() {
      t := termtables.CreateTable()
      t.AddHeaders("User", "Age")
      t.AddRow("dj", 18)
      t.AddRow("darjun", 30)
      fmt.Println("HTML:")
      t.SetModeHTML()
      fmt.Println(t.Render())
    
      fmt.Println("Markdown:")
      t.SetModeMarkdown()
      fmt.Println(t.Render())
    }
    
    

    运行:

    $ go run main.go
    HTML:
    table class="termtable">
    thead>
    tr>th>User/th>th>Age/th>/tr>
    /thead>
    tbody>
    tr>td>dj/td>td>18/td>/tr>
    tr>td>darjun/td>td>30/td>/tr>
    /tbody>
    /table>
    
    Markdown:
    | User   | Age |
    | ------ | --- |
    | dj     | 18  |
    | darjun | 30  |
    
    

    输出的格式可以直接用在 Markdown/HTML 文件中。

    总结

    今天轻松一下,了解了一个小巧的工具库termtables。虽然自己实现一个类似的也不复杂,termtables库额外帮我们处理了编码、字宽等比较繁琐的细节。有需要在写示例程序中打印类似表格之类的数据不妨试一试termtables。
    大家如果发现好玩、好用的 Go 语言库,欢迎到 Go 每日一库 GitHub 上提交 issue😄
    参考

    Go 每日一库 GitHub:https://github.com/darjun/go-daily-lib

    到此这篇关于Go 每日一库之termtables的使用的文章就介绍到这了,更多相关Go termtables内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • Go语言操作mysql数据库简单例子
    • 深入解析Go语言的io.ioutil标准库使用
    • go语言日志记录库简单使用方法实例分析
    • go语言实现通过FTP库自动上传web日志
    • Go语言连接Oracle数据库的方法
    • Go语言库系列之flag的具体使用
    • Go语言库系列之dotsql详解
    • 模块一 GO语言基础知识-库源码文件
    上一篇:golang中字符串MD5生成方式总结
    下一篇:Go每日一库之dateparse处理时间
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Go 每日一库之termtables的使用 每日,一库,之,termtables,的,