【go】终端颜色

发布时间 2023-12-26 11:21:37作者: Nones

@


写在前面

  • 相关博文
  • 个人博客首页
  • 免责声明:仅供学习交流使用!开源框架可能存在的风险和相关后果将完全由用户自行承担,本人不承担任何法律责任。

[console 颜色输出]

颜色库goading github.com/fatih/color


ANSI颜色代码是一种在文本终端中控制文本样式(包括颜色和格式)的方式。这些代码被嵌入到文本输出流中,并由终端解释器解析以修改输出的颜色和样式。

ANSI颜色代码由以下组成:

起始转义序列:

\033[ 或者 \x1b[
格式代码:由一或多个数字组成,用分号分隔(如果有多个)
结束字符:m

下面是一些基本的ANSI颜色和格式代码:

文本格式

0 - 重置所有属性
1 - 高亮显示
2 - 低亮度(暗色)
4 - 下划线
5 - 闪烁
7 - 反显
8 - 隐藏

前景色(文本颜色)

30 - 黑色
31 - 红色
32 - 绿色
33 - 黄色
34 - 蓝色
35 - 紫红色
36 - 青色
37 - 白色

背景色

40 - 黑色背景
41 - 红色背景
42 - 绿色背景
43 - 黄色背景
44 - 蓝色背景
45 - 紫红色背景
46 - 青色背景
47 - 白色背景

高亮前景色(一些终端支持)

90 - 亮黑色(灰色)
91 - 亮红色
92 - 亮绿色
93 - 亮黄色
94 - 亮蓝色
95 - 亮紫红色
96 - 亮青色
97 - 亮白色

高亮背景色(一些终端支持)

100 - 亮黑色背景(灰色背景)
101 - 亮红色背景
102 - 亮绿色背景
103 - 亮黄色背景
104 - 亮蓝色背景
105 - 亮紫红色背景
106 - 亮青色背景
107 - 亮白色背景

你可以组合这些代码来创建更多样化的文本效果。例如:

// 组合使用下划线和红色前景
fmt.Printf("\033[4;31m%s\033[0m", "This is underlined red text")
在这个例子中,
4 是下划线代码,31 是红色前景代码,它们被组合在一起并用分号隔开。最后使用代码 0 来重置文本属性,以防止之后的文本也被这些属性影响。

注意,不是所有的终端都支持所有的ANSI颜色代码,特别是那些高亮颜色代码不一定在所有环境中都有效。此外,Windows平台上的命令提示符(CMD)在较老的版本中可能不支持ANSI颜色代码,这时可以使用第三方库来兼容这些差异。


参考资料

基础/标准库/第三方库


golang 导航


编程规范


算法|面试


项目