这连天bee升级到了1.5版本,在执行bee version的时候会输出一个有颜色的BEE的logo,不少人觉着很神奇,其实这个就是ANSI颜色代码。git
其实在Linux,咱们编写C语言轻易能够实现这个效果。github
具体的书写格式以下:小程序
格式:\033[显示方式;前景色;背景色m 说明: 前景色 背景色 颜色 --------------------------------------- 30 40 黑色 31 41 红色 32 42 绿色 33 43 黃色 34 44 蓝色 35 45 紫红色 36 46 青蓝色 37 47 白色 显示方式 意义 ------------------------- 0 终端默认设置 1 高亮显示 4 使用下划线 5 闪烁 7 反白显示 8 不可见 例子: \033[1;31;40m <!--1-高亮显示 31-前景色红色 40-背景色黑色--> \033[0m <!--采用终端默认设置,即取消颜色设置-->
详细资料,请参看https://en.wikipedia.org/wiki/ANSI_escape_code#Colorswindows
可是在windows下就比较难作到。code
The Win32 console did not support ANSI escape sequences at all until Windows 10 "Threshold 2".[10] Some replacements or additions for the console window such as JP Software's TCC (formerly 4NT), Michael J. Mefford's ANSI.COM, Jason Hood's ANSICON[11] and Maximus5's ConEmu do interpret ANSI escape sequences printed by programs.orm
从这段能够看出win 10才支持。ip
内事不明问百度,外事不清问谷歌。搜索到https://github.com/fatih/color这个神器。ci
go get github.com/fatih/color
下面我就模仿bee写一个小程序。get
package main import ( "fmt" "github.com/fatih/color" ) func main() { beeStrUp := `______ | ___ \ | |_/ / ___ ___ | ___ \ / _ \ / _ \ | |_/ /| __/| __/ \____/ \___| \___| v1.5.0 ` beeStrDown := ` ├── Beego : 1.7.0 ├── GoVersion : go1.6.2 ├── GOOS : windows ├── GOARCH : amd64 ├── NumCPU : 8 ├── GOPATH : x:\Eagle\go ├── GOROOT : y:\Go\ ├── Compiler : gc └── Date : Friday, 19 Aug 2016` color.Set(color.FgMagenta, color.Bold) defer color.Unset() fmt.Println(beeStrUp) color.Set(color.FgGreen, color.Bold) fmt.Println(beeStrDown) }
运行结果:it