[笔记]Go语言在Linux环境下输出彩色字符

Go语言要打印彩色字符与Linux终端输出彩色字符类似,以黑色背景高亮绿色字体为例:

fmt.Printf("\n %c[1;40;32m%s%c[0m\n\n", 0x1B, "testPrintColor", 0x1B)

其中0x1B是标记,[开始定义颜色,1代表高亮,40代表黑色背景,32代表绿色前景,0代表恢复默认颜色。显示效果为:

下面代码遍历全部显示效果。

package main

import (
    "fmt"
)

func main() {
    fmt.Println("")

    // 前景 背景 颜色
    // ---------------------------------------
    // 30  40  黑色
    // 31  41  红色
    // 32  42  绿色
    // 33  43  黄色
    // 34  44  蓝色
    // 35  45  紫红色
    // 36  46  青蓝色
    // 37  47  白色
    //
    // 代码 意义
    // -------------------------
    //  0  终端默认设置
    //  1  高亮显示
    //  4  使用下划线
    //  5  闪烁
    //  7  反白显示
    //  8  不可见

    for b := 40; b <= 47; b++ { // 背景色彩 = 40-47
        for f := 30; f <= 37; f++ { // 前景色彩 = 30-37
            for d := range []int{0, 1, 4, 5, 7, 8} { // 显示方式 = 0,1,4,5,7,8
                fmt.Printf(" %c[%d;%d;%dm%s(f=%d,b=%d,d=%d)%c[0m ", 0x1B, d, b, f, "", f, b, d, 0x1B)
            }
            fmt.Println("")
        }
        fmt.Println("")
    }
}

显示效果为:

posted @ 2015-03-06 02:51  ET民工[源自火星]  阅读(2325)  评论(0编辑  收藏  举报