[Go] 终端输出彩色日志

1,247 阅读1分钟

Go 编程时希望能在终端输出带颜色的日志,但又不想引入额外的第三方日志框架。Go 提供了特定字符以指定颜色输出:

        fmt.Printf("\033[1;31;42m%s\n","Red.")

image.png

详细解释 format 字符串:

image.png

  • \033[:变色开始标记
  • 显示模式:

| 代码 | 含义 | | --- | --- | | 0| 终端默认设置| | 1| 高亮显示| | 4| 使用下划线| | 5| 闪烁| | 7| 反白显示| | 8| 不可见|

  • 前景及背景色

| 前景| 背景 |颜色| | ---|---|---| | 30| 40| 黑色| | 31| 41| 红色| | 32| 42| 绿色| | 33| 43| 黄色| | 34| 44| 蓝色| | 35| 45| 紫红色| | 36| 46| 青蓝色| | 37| 47| 白色|

  • 结尾的\033[0m表示恢复终端默认样式,否则后面的所有日志均采用该色输出。