golang 更友好的格式化输出 ffmt

MIT
Google Go
跨平台
2018-02-18
wzshiming

 

安装

go get -u -v gopkg.in/ffmt.v1

用法

API 文档

示例

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
	*/
}

 

的码云指数为
超过 的项目
加载中

评论(1)

wzshiming
wzshiming 软件作者
~~~

暂无资讯

暂无问答

Ubuntu14.04环境下安装编译HTK语音识别工具库

本文主要介绍了Ubuntu14.04环境下安装编译HTK语音识别工具库的过程。

2015/11/21 12:48
873
0
iOS音频播放 (四):AudioFile

接着第三篇的AudioStreamFile这一篇要来聊一下AudioFile。和AudioStreamFile一样AudioFile是AudioToolBox framework中的一员,它也能够完成第一篇所述的第2步,读取音频格式信息和进行帧分离...

2015/04/23 15:59
51
0
iOS音频播放 (三):AudioFileStream

在本篇那种将会提到计算音频时长duration和音频seek的方法,这些方法对于CBR编码形式的音频文件可以做到比较精确而对于VBR编码形式的会存在较大的误差(关于CBR和VBR,请看本系列的第一篇),...

2015/04/23 15:54
90
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部