第五天:golang学习笔记之fmt

★fmt | fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf.

fmt

fmt包提供的最主要的功能只有两个:Print,Scan

Print

输出到屏幕的有如下几个函数fmt.Print()fmt.Println()fmt.Printf()
实现的基础分别为通过fmt.FPrint()fmt.FPrintln()fmt.FPrintf()来输出到sys.stdout
SprintFprint实现方法类似,只不过前者是返回string(p.buf),而后者是w.Write(p.buf)直接写到Writer里
其实现采用了sync.Pool做对象复用,使用了类似fasthttp的p.buf = p.buf[:0]来做底层数组复用

Scan

Scan和Print类似

接口

接口有如下几个,现在用不上,先不看了

    fmt.Scanner()
    fmt.State()
    fmt.ScanState()
    fmt.GoStringer()
    fmt.Stringer()
    fmt.Formatter()

format格式

最重要之一的应该是格式字符串的构建,golang文档做了详细的描述:fmt
直到几个最基本的就行,剩下的用到了再去查
在linux控制台下可以看到彩色字符实现方式如下:

fmt.Printf(" \033[31;44;4;1;5m狂拽酷炫屌炸天")

\033是前引符,[后接参数,参数之间用;分号隔开,m代表参数结束
可用参数如下:

前景 背景 颜色
30 40 黑色
31 41 红色
32 42 绿色
33 43 黄色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色
代码 意义
0 终端默认设置
1 高亮加粗显示
4 使用下划线
5 闪烁
7 反白显示
8 不可见
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。