Go语言实现彩色输出示例详解

 

说明

支持Linux彩色输出

image.png

支持Windows彩色输出

image.png

Golang IDE输出是不支持的

image.png

 

使用

效果图

image.png

 

CODE DEMO

package main
import (
 "fmt"
 "github.com/fatih/color"
)
func main() {
 color.Cyan("蓝绿色.")
 color.Blue("蓝色.")
 color.Red("红色.")
 color.Magenta("品平.")
 color.White("白色.")
 color.Black("黑色.")
 color.Yellow("----------------_----------------")
 color.Yellow("WARNING - WARNING!")
 color.Yellow("WARNING - WARNING.")
 color.Yellow("----------------_----------------")
 //Bold 高亮粗体
 bold := color.New(color.Bold).Add(color.FgGreen)
 bold.Printf("color: %s\n",color.CyanString("heihei"))
 fmt.Printf("color: %s\n",color.GreenString("haha"))
 //BgGreen背影绿色
 //Underline带下划线
 c := color.New(color.BgGreen).Add(color.Underline)
 c.Printf("背景绿色且带下划线的")
 fmt.Println("")
 //自定义提示
 success := color.New(color.Bold, color.FgGreen).PrintlnFunc()
 warning := color.New(color.Bold, color.FgYellow).PrintlnFunc()
 error := color.New(color.Bold, color.FgRed).PrintlnFunc()
 info := color.New(color.Bold, color.FgWhite).PrintlnFunc()
 success("成功")
 warning("警告")
 error("错误")
 info("信息")
 //除了高亮和下划线还有其它几种功能,比如
 Faint := color.New(color.Faint, color.FgHiWhite).PrintlnFunc()
 Italic := color.New(color.Italic, color.FgHiWhite).PrintlnFunc()
 BlinkSlow := color.New(color.BlinkSlow, color.FgHiWhite).PrintlnFunc()
 BlinkRapid := color.New(color.BlinkRapid, color.FgHiWhite).PrintlnFunc()
 ReverseVideo := color.New(color.ReverseVideo, color.FgHiWhite).PrintlnFunc()
 Concealed := color.New(color.Concealed, color.FgHiWhite).PrintlnFunc()
 CrossedOut := color.New(color.CrossedOut, color.FgHiWhite).PrintlnFunc()
 Faint("模糊")
 Italic("斜体")
 BlinkSlow("闪光")
 BlinkRapid("快闪")
 ReverseVideo("反转")
 Concealed("隐藏")
 CrossedOut("删除线")
}

 

小结

  • 该包共提供了:黑、白、红、绿、蓝、紫、黄、蓝绿共8种颜色,且不支持颜色混合,以最后一参数为准
  • 该包共提供了: 高亮粗体、模糊、斜体、闪光、反转、隐藏、删除线等功能,快闪好像没有测出来
  • 该包封装了fmt.Fprintln方法,可以直接使用c.Println等
func (c *Color) Println(a ...interface{}) (n int, err error) {
 c.Set()
 defer c.unset()
 return fmt.Fprintln(Output, a...)
}

以上就是Go语言实现彩色输出示例详解的详细内容,更多关于Go语言彩色输出的资料请关注编程宝库其它相关文章!

 一、概述切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。切片是一个引用类型,它的内部结构包含地址、长度和容量。切片一般用于 ...