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

 更新时间:2022年09月29日 10:39:37   作者:爱吃红薯粉  
这篇文章主要为大家介绍了Go语言实现彩色输出示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

简介

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

说明

支持Linux彩色输出

支持Windows彩色输出

Golang IDE输出是不支持的

使用

效果图

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语言彩色输出的资料请关注脚本之家其它相关文章!

相关文章

  • 重学Go语言之变量与常量的声明与使用详解

    重学Go语言之变量与常量的声明与使用详解

    变量、常量的声明与使用是掌握一门编程语言的基础,在这篇文章中,小编就来带大家学习一下Go语言是怎么样声明和使用变量与常量吧
    2023-03-03
  • Go使用select切换协程入门详解

    Go使用select切换协程入门详解

    这篇文章主要为大家介绍了Go使用select切换协程入门详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • GoLang中的timer定时器实现原理分析

    GoLang中的timer定时器实现原理分析

    Timer中对外暴露的只有一个channel,这个 channel也是定时器的核心。当计时结束时,Timer会发送值到channel中,外部环境在这个 channel 收到值的时候,就代表计时器超时了,可与select搭配执行一些超时逻辑
    2023-02-02
  • 分布式架构在Go语言网站的应用

    分布式架构在Go语言网站的应用

    分布式架构是目前应对高流量、高并发的重要解决方案,分布式架构的核心思想是分而治之,将单台服务器的资源划分为多台服务器进行协同完成,分布式架构应用于Go语言网站中既能提升服务速度,又能降低了服务器宕机的风险
    2024-01-01
  • Go语言中println和fmt.Println区别

    Go语言中println和fmt.Println区别

    本文主要介绍了Go语言中println和fmt.Println区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 深入解析Go语言中crypto/subtle加密库

    深入解析Go语言中crypto/subtle加密库

    本文主要介绍了深入解析Go语言中crypto/subtle加密库,详细介绍crypto/subtle加密库主要函数的用途、工作原理及实际应用,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • go语言通过反射创建结构体、赋值、并调用对应的操作

    go语言通过反射创建结构体、赋值、并调用对应的操作

    这篇文章主要介绍了go语言通过反射创建结构体、赋值、并调用对应的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • Go语言中Goroutine的设置方式

    Go语言中Goroutine的设置方式

    这篇文章介绍了Go语言中Goroutine的设置方式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Go语言学习之WaitGroup用法详解

    Go语言学习之WaitGroup用法详解

    Go语言中的 WaitGroup 和 Java 中的 CyclicBarrier、CountDownLatch 非常类似。本文将详细为大家讲讲WaitGroup的用法,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-06-06
  • go语言定义零值可用的类型学习教程

    go语言定义零值可用的类型学习教程

    这篇文章主要为大家介绍了go语言定义零值可用的类型教程学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06

最新评论