ffmt golang 更友好的格式化输出 ffmt

wzshiming • 1216 次点击    
这是一个分享于 的项目,其中的信息可能已经有所发展或是发生改变。
- [源码地址](https://github.com/go-ffmt/ffmt) ## 安装 ``` shell # 稳定版本 go get -u -v gopkg.in/ffmt.v1 # 最新版本 go get -u -v github.com/go-ffmt/ffmt ``` ## 用法 [API 文档](https://godoc.org/gopkg.in/ffmt.v1) [示例](https://github.com/go-ffmt/ffmt/blob/master/examples/main.go) ``` golang package main import ( ffmt "gopkg.in/ffmt.v1" ) func main() { example() } func example() { m := struct { String string Int int Slice []int Map map[string]interface{} }{ "hello world", 100, []int{1, 2, 3, 4, 5, 6}, map[string]interface{}{ "A": 123, "BB": 456, }, } fmt.Println(m) // fmt 默认输出 /* {hello world 100 [1 2 3 4 5 6] map[BB:456 A:123]} */ ffmt.Puts(m) // 较为友好的输出 /* { String: "hello world" Int: 100 Slice: [ 1 2 3 4 5 6 ] Map: { "A": 123 "BB": 456 } } */ ffmt.Print(m) // 同 Puts 但是字符串不加引号 /* { String: hello world Int: 100 Slice: [ 1 2 3 4 5 6 ] Map: { A: 123 BB: 456 } } */ ffmt.P(m) // 友好格式化加上类型 /* struct{ String: string(hello world) Int: int(100) Slice: slice[ int(1) int(2) int(3) int(4) int(5) int(6) ] Map: map{ string(A): int(123) string(BB): int(456) } } */ ffmt.Pjson(m) // 以 json 风格输出 /* { "Int": 100 ,"Map": { "A": 123 ,"BB": 456 } ,"Slice": [ 1,2,3 ,4,5,6 ] ,"String": "hello world" } */ m0 := ffmt.ToTable(m, m) // 按字段拆成表 ffmt.Puts(m0) /* [ [ "String" "Int" "Slice" "Map" ] [ "hello world" "100" "[1 2 3 4 5 6]" "map[A:123 BB:456]" ] ] */ m1 := ffmt.FmtTable(m0) // [][]string 表格式化 ffmt.Puts(m1) /* [ "String Int Slice Map " "hello world 100 [1 2 3 4 5 6] map[A:123 BB:456] " ] */ ffmt.Mark("hello") // 标记输出位置 /* main.go:122 hello */ } ```
授权协议:
MIT
开发语言:
go 查看源码»
1216 次点击  ∙  1 赞  
加入收藏 微博
0 回复
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传