這連天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