网络编程
位置:首页>> 网络编程>> Go语言>> Go语言实现彩色输出示例详解

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

作者:爱吃红薯粉  发布时间:2023-09-14 01:19:45 

标签:Go,彩色输出

简介

在逛github时发现一个好玩的Go项目,彩色输出文本

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

说明

支持Linux彩色输出

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

支持Windows彩色输出

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

Golang IDE输出是不支持的

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

使用

效果图

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

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...)
}

来源:https://juejin.cn/post/7119751644966813703

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com