Go语言实现彩色输出示例详解
作者:爱吃红薯粉 发布时间:2023-09-14 01:19:45
标签: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...)
}
来源:https://juejin.cn/post/7119751644966813703


猜你喜欢
- 1.反变换法设需产生分布函数为F(x)的连续随机数X。若已有[0,1]区间均匀分布随机数R,则产生X的反变换公式为:F(x)=r, 即x=F
- 指定捕获过滤器捕获过滤器的语法格式为:<Protocol> <Direction> <Host> <
- 简介:设计稿尺寸标注与取色专用工具,适用于设计、界面开发与网页前端安装包仅700KB,全绿色独有的双模式切换可支持双屏显示器,一面设计,一面
- Python的web模板,其实就是在HTML文档中使用控制语句和表达语句替换HTML文档中的变量来控制HTML的显示格式,Python的we
- 代码:hello.py#!/usr/bin/python# coding: utf-8# hello.pydef application(e
- 如下所示:import requestsurl='http://####'proxy={'http':
- numpy随机打乱数据方法np.random.shuffleimport numpy as np#实验可得每次shuffle后数据都被打乱,
- 2003年以来,网页的平均尺寸已经增长3倍。从2003到2008,网页的平均尺寸从93.7K增至312K,增幅233%。同时,在这5年之内,
- python程序运行中,可由程序抛出异常。异常触发:使用raise命令抛出异常,即可使用异常基类Exception,也可使用自定义异常类(继
- 让我们先从怎样删除数组中的重复项这个简单问题开始。复杂 - 使用 forEach 删除重复项首先,我们新创建一个空数组,用 forEach(
- 本文实例总结了Python操作redis方法。分享给大家供大家参考,具体如下:python连接方式可参考:https://www.jb51.
- 目录1. 配置Python环境变量2. 安装Python编辑器,并在其中配置Python3. 安装控制包uiautomator2,和其它辅助
- 本文实例为大家分享了python定时提取实时日志的具体代码,供大家参考,具体内容如下这是一个定时读取 实时日志文件的程序。目标文件是targ
- 1.首先axios不支持vue.use()方式声明使用看了所有近乎相同的axios文档都没有提到这一点建议方式在main.js中如下声明使用
- 这篇文章主要介绍了python 类的继承 实例方法.静态方法.类方法的代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定
- 刚才显示数据的时候遇到一个日期里面带T的问题,就是天数跟小时数之间出现了一个T。 表字段里面也没有这个T,后来查询度娘,是因为json处理的
- 最近几天仔细研究了一下vertical-align这个属性,结果让我大吃一惊,这个很“资深”的CSS标准竟然在各个浏览器里面的表现都各不相同
- 一、前言随着三胎政策的开放,人们对于生娃的讨论也逐渐热烈了起来,经常能够在各大社交媒体当中看到相关的话题,而随着时间慢慢地流逝,中国的首批“
- 安全等于运算符(<=>)这个操作符和=操作符执行相同的比较操作,不过<=>可以用来判断NULL值。在两个操作数均为N
- 1. Neovim是什么在此之前,我一直都是使用VSCODE或者WEB STORM编辑器的. 他们确实好用方便. 直到我得了腱鞘炎之后. 不