go实现终端输出颜色文本

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)
}

posted on 2021-02-22 14:50  Sweet小马  阅读(1400)  评论(0编辑  收藏  举报

导航