go实现终端输出颜色文本
// 示例
fmt.Printf("\033[1;31;40m%s\033[0m\n","高亮显示 - 红色文字,黑色底哒")
fmt.Printf("\033[4;31;40m%s\033[0m\n","下划线 - 红色文字,黑色底哒")
fmt.Printf("\033[5;31;40m%s\033[0m\n","闪烁 - 红色文字,黑色底哒")
fmt.Printf("\033[7;31;40m%s\033[0m\n","反白显示 - 红色文字,黑色底哒")
fmt.Printf("\033[8;31;40m%s\033[0m\n","红色文字,黑色底哒")

\033 |
[1;31;40m |
红色文字,黑色底哒 |
\033 |
[0m |
|
|
|
|
|
|
|
\033 操作类型 |
|
|
|
|
|
\ |
033 |
|
|
|
|
表示转义 |
设置颜色 |
|
|
|
|
|
|
|
|
|
|
[1;31;40m 设置颜色 |
|
|
|
|
|
[ |
1 |
; |
31 |
40 |
m |
设置开始 |
显示方式 1表示高亮,下面说明 |
分号分隔 |
前景色(文字颜色) |
背景色 |
设置结束 |
|
|
|
|
|
|
\033 操作类型 |
|
|
|
|
|
\ |
033 |
|
|
|
|
|
|
|
|
|
|
表示转义 |
设置颜色 |
|
|
|
|
[0m 恢复默认的中断样式 |
|
|
|
|
|
显示方式
代码 |
意义 |
0 |
终端默认显示 |
1 |
高亮显示(文字会略粗一点显示。) |
4 |
使用下划线 |
5 |
闪烁 |
7 |
反白 |
8 |
不可见 |
颜色示例
前景色(文字颜色) |
背景色 |
高亮色(加粗) |
颜色 |
30 |
40(左边的30+10) |
90(30+60) |
黑色 |
31 |
同上 |
同上 |
红色 |
32 |
同上 |
同上 |
绿色 |
33 |
同上 |
同上 |
黄色 |
34 |
同上 |
同上 |
深蓝色 |
35 |
同上 |
同上 |
紫色 |
36 |
同上 |
同上 |
Tiffany蓝 |
37 |
同上 |
同上 |
白色 |
type Color int
// Foreground text colors.
const (
FgBlack Color = iota + 30
FgRed
FgGreen
FgYellow
FgBlue
FgMagenta
FgCyan
FgWhite
)
// Foreground Hi-Intensity text colors.
const (
FgHiBlack Color = iota + 90
FgHiRed
FgHiGreen
FgHiYellow
FgHiBlue
FgHiMagenta
FgHiCyan
FgHiWhite
)
// Colorize a string based on given color.
func ColorSize(s string, c Color) string {
return fmt.Sprintf("\033[1,%s,40m%s\033[0m", strconv.Itoa((int c)), s)
}