package main import ( "fmt" "github.com/fatih/color" ) func main() { // 使用 color 包设置颜色 red := color.New(color.FgRed) green := color.New(color.FgGreen) yellow := color.New(color.FgYellow) // 在终端输出彩色文字 red.Println("This is red text.") green.Println("This is green text.") yellow.Println("This is yellow text.") // 使用样式和颜色组合 boldGreen := color.New(color.FgGreen, color.Bold) boldGreen.Println("This is bold green text.") }
go run
<?php // 定义彩色文字的 ANSI 转义码 $red = "\033[31m"; $green = "\033[32m"; $yellow = "\033[33m"; $reset = "\033[0m"; // 在控制台输出彩色文字 echo $red . "This is red text." . $reset . PHP_EOL; echo $green . "This is green text." . $reset . PHP_EOL; echo $yellow . "This is yellow text." . $reset . PHP_EOL;
ANSI 转义码是一种用于在文本中表示控制字符或控制序列的标准。在这里,\033 是 ESC(Escape) 字符的八进制表示,而 [31m 是表示颜色属性的部分。
具体来说,\033 是 ASCII 字符集中的 ESC(Escape) 字符,它通常用于引入控制序列。在这里,它表示一个开始控制序列。后面的 [31m 是 ANSI 转义码的一部分,其中 [ 表示开始一个控制码,31
是表示红色文本的颜色代码,m
表示该控制序列的结束。
在 ANSI 转义码中,颜色代码的一般格式是 \033[ 属性码 m
,其中属性码表示不同的文本属性,如颜色、样式等。例如:
\033[31m 表示红色文本 \033[32m 表示绿色文本 \033[33m 表示黄色文本
在这些例子中,\033 是开始控制序列的标志,[31m 是表示颜色属性的部分。
为了更好地理解,你可以将 \033[31m 想象成一个控制命令,告诉终端在接下来的文本中使用红色。当你输出这个命令后,后续的文本将以红色显示,直到遇到重置命令,例如 \033[0m,以恢复默认的文本属性。
可以使用不同的颜色代码和属性码来实现各种颜色和效果。以下是一些常用的颜色和属性码示例:
\033[30m - 黑色 \033[31m - 红色 \033[32m - 绿色 \033[33m - 黄色 \033[34m - 蓝色 \033[35m - 紫色 \033[36m - 青色 \033[37m - 白色
\033[30m - 黑色 \033[31m - 红色 \033[32m - 绿色 \033[33m - 黄色 \033[34m - 蓝色 \033[35m - 紫色 \033[36m - 青色 \033[37m - 白色
\033[1m - 粗体(高亮) \033[2m - 淡化 \033[4m - 下划线 \033[5m - 闪烁 \033[7m - 反显 \033[8m - 不可见(隐藏)
如,如果你想要输出高亮绿色的文本,可以使用 \033[1;32m,其中 1
表示粗体(高亮),32
表示绿色。在输出完成后,使用 \033[0m 来重置文本属性,以确保后续文本不受影响。
注意,具体的效果可能会因终端的支持程度而有所不同。在使用这些代码之前,最好在目标终端上进行测试。