Go语言:控制台输出彩色字符

控制台&终端输出打印彩色字符

Golang中的颜色对应序列:

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

直接使用Sprintf格式化字符并返回,示例:

fmt.Sprintf("\x1b[0;%dm%s\x1b[0m", color, str)

%d输出标准的十进制格式化,这里对应颜色表序列。%s表示输出的字符串

代码示例:

const (
	textBlack = iota + 30
	textRed
	textGreen
	textYellow
	textBlue
	textPurple
	textCyan
	textWhite
)

func Black(str string) string {
	return textColor(textBlack, str)
}

func Red(str string) string {
	return textColor(textRed, str)
}
func Yellow(str string) string {
	return textColor(textYellow, str)
}
func Green(str string) string {
	return textColor(textGreen, str)
}
func Cyan(str string) string {
	return textColor(textCyan, str)
}
func Blue(str string) string {
	return textColor(textBlue, str)
}
func Purple(str string) string {
	return textColor(textPurple, str)
}
func White(str string) string {
	return textColor(textWhite, str)
}

func textColor(color int, str string) string {
	return fmt.Sprintf("\x1b[0;%dm%s\x1b[0m", color, str)
}

调用输出:

 fmt.Println(White("test"))
发布了6 篇原创文章 · 获赞 0 · 访问量 273

猜你喜欢

转载自blog.csdn.net/heartsk/article/details/105453015