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

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

简介

在逛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

标签:Go,彩色输出
0
投稿

猜你喜欢

  • 如何基于python对接钉钉并获取access_token

    2023-11-27 04:25:07
  • 无障碍网页应用 WAI-ARIA

    2009-11-16 12:32:00
  • Python chardet库识别编码原理解析

    2021-03-18 16:41:54
  • 用Python进行一些简单的自然语言处理的教程

    2021-07-03 19:51:26
  • 10个提高网站可用性的实用技巧[译]

    2009-06-12 12:37:00
  • Oracle平台应用数据库系统的设计与开发

    2010-07-21 13:03:00
  • Python实现最大子序和的方法示例

    2023-04-08 03:30:38
  • 趣用文化元素

    2009-09-03 11:53:00
  • 一文弄懂MySQL索引创建原则

    2024-01-14 07:38:25
  • 详解Go语言如何使用标准库sort对切片进行排序

    2024-04-30 10:07:53
  • Python selenium模拟网页点击爬虫交管12123违章数据

    2023-09-26 18:30:37
  • Python+OCR实现文档解析的示例代码

    2023-11-22 02:34:19
  • Python技法之如何用re模块实现简易tokenizer

    2021-08-04 17:03:52
  • 清除浮动的最简写法

    2009-03-30 15:58:00
  • 解读等值线图的Python绘制方法

    2021-11-21 19:54:08
  • python代码检查工具pylint 让你的python更规范

    2021-07-03 12:06:38
  • uniqueidentifier转换成varchar数据类型的sql语句

    2011-09-30 11:17:48
  • Python 描述符(Descriptor)入门

    2022-10-15 21:06:59
  • 举例讲解Python装饰器

    2022-02-17 10:49:18
  • PHP中流的定义及作用详解

    2023-05-31 11:33:59
  • asp之家 网络编程 m.aspxhome.com