p1gd0g.github.io

View My GitHub Profile

Linux color output

最近在写CTcoin,为了使程序的提示与用户的输入容易区分,想要输出彩色字体。

之前曾在其他开源程序里看到过彩色字体,感觉应该不难。

首先在golang官方库里查,没查到东西。当时觉得很奇怪。

接着百度,查到了使用方法,才发现彩色字体这种东西是系统/终端提供的(严格说,程序所有东西都是系统提供吧?)。

接着google,找到了wiki上的详细资料

具体一点:

fmt.Println("\033[1;40;31m" + "hello" + "\033[0m")

\033[1;40;31m表示颜色开始,此后输入都为彩色。

其中,\033代表esc,\033[(\esc[)是一个标志,表示开始设置参数。第一个参数1表示字体。第二个参数40代表黑色背景,第三个参数31代表白色字体。每个参数的位置随意,数字都是唯一对应的。m表示结束设置参数。

\033[0m类似,0代表结束输入彩色字体。

另外,顺便记一下清屏:

fmt.Println("\033c")

很有用哈。

当然,以上仅限于linux,win上可能会不一样,不知道。

这种装逼利器怎么没早点知道。