gookit/color - Go语言命令行色彩使用库教程

gookit/color - Go语言命令行色彩使用库教程

  • 1.安装
  • 2.基础颜色(16-color)
  • 3.256色彩/RGB风格

1.安装

go get github.com/gookit/color

2.基础颜色(16-color)

提供通用的API方法:Print Printf Println Sprint Sprintf

1、例如:

color.Yellow.Println("bold message")
color.Blue.Println("bold message")
color.White.Println("bold message")

在这里插入图片描述

2、特例,仅仅设置前景和背景颜色:

// 仅使用前景色
color.FgCyan.Printf("Simple to use %s\n", "color")
// 仅使用背景色
color.BgRed.Printf("Simple to use %s\n", "color")

在这里插入图片描述

3、构建风格

// 完全自定义: 前景色 背景色 选项(字体)
style := color.New(color.FgRed, color.BgBlack, color.OpBold)
style.Println("custom color style")

在这里插入图片描述

4、直接设置控制台属性

// 设置console颜色
_, err := color.Set(color.FgCyan)
if err != nil {return
}
// 输出信息
fmt.Print("message")

在这里插入图片描述

5、扩展风格方法

color.Info.Println("Info message")
color.Note.Println("Note message")
color.Notice.Println("Notice message")

在这里插入图片描述

全部扩展风格:

// Info color style
Info = &Theme{"info", Style{OpReset, FgGreen}}
// Note color style
Note = &Theme{"note", Style{OpBold, FgLightCyan}}
// Warn color style
Warn = &Theme{"warning", Style{OpBold, FgYellow}}
// Light color style
Light = &Theme{"light", Style{FgLightWhite, BgBlack}}
// Error color style
Error = &Theme{"error", Style{FgLightWhite, BgRed}}
// Danger color style
Danger = &Theme{"danger", Style{OpBold, FgRed}}
// Debug color style
Debug = &Theme{"debug", Style{OpReset, FgCyan}}
// Notice color style
Notice = &Theme{"notice", Style{OpBold, FgCyan}}
// Comment color style
Comment = &Theme{"comment", Style{OpReset, FgYellow}}
// Success color style
Success = &Theme{"success", Style{OpBold, FgGreen}}
// Primary color style
Primary = &Theme{"primary", Style{OpReset, FgBlue}}
// Question color style
Question = &Theme{"question", Style{OpReset, FgMagenta}}
// Secondary color style
Secondary = &Theme{"secondary", Style{FgDarkGray}}

6、简约提示风格

color.Info.Tips("Info tips message")
color.Notice.Tips("Notice tips message")
color.Error.Tips("Error tips message")

在这里插入图片描述

7、着重提示风格

color.Info.Prompt("Info prompt message")
color.Error.Prompt("Error prompt message")
color.Danger.Prompt("Danger prompt message")

在这里插入图片描述

8、强调提示风格

color.Warn.Block("Warn block message")
color.Debug.Block("Debug block message")
color.Question.Block("Question block message")

在这里插入图片描述


3.256色彩/RGB风格

参考官方文档:

gookit/color

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/594271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python:单下划线 双下划线

本文参考:https://machinelearning.blog.csdn.net/article/details/125114737 单下划线 1. 变量(临时变量,引入未使用的变量) 在Python中,变量包含:数字、字母、下划线等;所以单独一个下划线_…

Kotlin 密封类与接口

密封的类和接口表示受限制的类层次结构,这些层次结构提供了对继承的更多控制;在定义密封类的模块和包之外,不能出现其他子类;密封类的每个实例都有一个来自有限集的类型,该类型在编译此类时是已知的;一旦编…

Jenkins 构建前端服务更新控制

在当今的快节奏开发环境中,确保前端服务的高效和可靠更新至关重要。本文将介绍如何通过AWS服务(如ECS和S3)以及Jenkins进行参数化构建,实现前端服务的自动化部署和更新控制。我们将深入了解使用Python脚本管理部署流程&#xff0c…

嵌入式系统(二)单片机基础 | 单片机特点 内部结构 最小系统 电源 晶振 复位

上一篇文章我们介绍了嵌入式系统 嵌入式系统(Embedded System)是一种特定用途的计算机系统,它通常嵌入在更大的产品或系统中,用于控制、监测或执行特定的任务。这些系统通常由硬件和软件组成,旨在满足特定的需求&…

echarts条纹进度条

drawmonthqualified(){this.monthqualified echarts.init(document.getElementById(monthqualified));this.monthqualified.setOption({grid: {top: "15%",left:"20%",right:20%,bottom: "0%" //也可设置left和right设置距离来控制图表的大小},…

【致远OA】获取指定人员的协同待发列表

接口请求说明 V6.0接口更新:不在传入ticket,改为传memberId人员ID V6.0之前http请求方式:GET http://ip:port/seeyon/rest/affairs/draft 如 http://127.0.0.1/seeyon/rest/affairs/draft?ticketxxxxxx V6.0http请求方式:GET http://ip:p…

SpringBoot中WebSokcet无法注入Bean对象的解决方案

一、业务场景 Slf4j Component ServerEndpoint("/ws/{userId}") public class WebSocketServer {Autowiredprivate IChatService chatService;public static Map<Long, Session> sessionMap new ConcurrentHashMap<>();OnOpenpublic void onOpen(Sessi…

常见网络协议

1.DNS协议 &#xff08;域名系统&#xff09; DNS协议使用的端口号是53 位于OSI模型中的应用层 DNS系统的作用&#xff1a;将域名&#xff08;网址&#xff09;解析为IP地址。 DNS的基本原理是&#xff1a;将域名映射到IP地址 DNS工作流程 当用户给定一个域名&#xff0…

物联网技术如何影响我们的生活

随着科技的不断进步&#xff0c;物联网技术已经深刻地融入了我们的日常生活。物联网&#xff0c;即物联网&#xff08;Internet of Things&#xff0c;IoT&#xff09;&#xff0c;指的是通过互联网连接各种物理设备和对象&#xff0c;使它们能够进行数据交换和实时通信。这项技…

【十三】【动态规划】1745. 分割回文串 IV、132. 分割回文串 II、516. 最长回文子序列,三道题目深度解析

动态规划 动态规划就像是解决问题的一种策略&#xff0c;它可以帮助我们更高效地找到问题的解决方案。这个策略的核心思想就是将问题分解为一系列的小问题&#xff0c;并将每个小问题的解保存起来。这样&#xff0c;当我们需要解决原始问题的时候&#xff0c;我们就可以直接利…

移动端APP版本治理

1、背景 在许多公司&#xff0c;APP版本都是不受重视的&#xff0c;产品忙着借鉴&#xff0c;开发埋头编码&#xff0c;测试想着不粘锅。 只有在用户反馈app不能用的时候&#xff0c;你回复客服说&#xff0c;让用户升级最新版本&#xff0c;是不是很真实。 而且业界也很少有…

一文讲清数据资产入表实操

《中共中央 国务院关于构建数据基础制度更好发挥数据要素作用的意见》已发布一年&#xff0c;数据资产化和入表已成为2023年的热门话题&#xff0c;随着2023年底国家数据局吹风《"数据要素x"三年行动计划&#xff08;2024-2026年&#xff09;》即将发布&#xff0c;这…

开发环境 目录记录

2023.12.27 jdk17 位置在 C:\DevelopTools\JavaDevelopTools\jdk17,配置了JAVA_HOME到环境变量&#xff0c;JAVA_HOME\bin到PATHapache-maven-3.6.1 位置在 C:\DevelopTools\JavaDevelopTools\apache-maven-3.6.1,配置了MAVEN_HOME到环境变量&#xff0c;MAVEN_HOME\bin到PA…

周赛378(中心扩散法、分组循环)

文章目录 周赛378[2980. 检查按位或是否存在尾随零](https://leetcode.cn/problems/check-if-bitwise-or-has-trailing-zeros/)转换题意 [2981. 找出出现至少三次的最长特殊子字符串 I](https://leetcode.cn/problems/find-longest-special-substring-that-occurs-thrice-i/)中…

[情商-7]:如何回答没有标准答案的两难问题

目录 前言&#xff1a; 一、用“逻辑推理思维”回答两难问题 二、用“情绪思维”回答两难问题 1.1 关注提问者提出问题背后的情绪状态和情绪/情感诉求 1.2 常见的常见的情绪和情感诉求 1.3 女性情感分析 1.4 理解女性情感的语言 1.5 如何通过语言理解女性的情绪需求 三…

模拟Spring事件监听机制

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 之前我们一起学习了Spr…

Maven下载和安装的详细教程

文章目录 一、Maven下载和安装1.1 下载 Maven1.2 配置环境变量 参考资料 一、Maven下载和安装 1.1 下载 Maven 打开 Maven 的官方网站Maven – Download Apache Maven&#xff0c;下载最新版本的 Maven 在可选择的版本中&#xff0c;不同版本的区别在于: binary是已经编译过的…

从零开始了解大数据(七):总结

系列文章目录 从零开始了解大数据(一)&#xff1a;数据分析入门篇-CSDN博客 从零开始了解大数据(二)&#xff1a;Hadoop篇-CSDN博客 从零开始了解大数据(三)&#xff1a;HDFS分布式文件系统篇-CSDN博客 从零开始了解大数据(四)&#xff1a;MapReduce篇-CSDN博客 从零开始了解大…

jdk9之后springboot项目访问外置jar包配置

启动命令增加 --add-opens java.base/jdk.internal.loaderALL-UNNAMED解释 --add-opens java.base/jdk.internal.loaderALL-UNNAMED 是 Java 9 引入的一个命令行选项&#xff0c;用于解决模块化系统&#xff08;Module System&#xff09;中的模块访问限制问题。 在 Java 9 中…

013、方法

1. 方法和函数的区别 方法与函数十分相似&#xff1a;它们都使用fn关键字及一个名称来进行声明&#xff1b;它们都可以拥有参数和返回值&#xff1b;另外&#xff0c;它们都包含了一段在调用时执行的代码。 但是&#xff0c;方法与函数依然是两个不同的概念&#xff0c;因为方法…