首页 > 其他分享 >Mac终端GO输出字体颜色美化

Mac终端GO输出字体颜色美化

时间:2024-04-14 17:47:28浏览次数:36  
标签:macts BgColor fmt BgColorBright Println Mac GO FgColor 美化

Mac终端Go输出字体颜色、样式美化

Go语言模块:macts

img

Languagegithub licenseLicense

0x01 简介

macts 意为 MacOS Terminal Style

可以通过此模块,实现在mac系统终端上,美化程序文字输出

包括:

  • 文字颜色:黑色(Black)、红色(Red)、绿色(Green)、黄色(Yellow)、蓝色(Blue)、品红色(Magenta)、青色(Cyan)、白色(White)
  • 背景颜色:黑色、红色、绿色、黄色、蓝色、品红色、青色、白色以及对应高亮色(Bright)
  • 文字样式:加粗(Blod)、淡化(Downplay)、倾斜(Italic)、下划线(Underline)、反转文字与背景颜色(Reverse)

0x02 用法

以下列举模块的几种用法:

1、macts.FgColor:字体颜色

	s := "你好世界!Hello World !!!"
	fmt.Println(macts.FgColor.Black(s))
	fmt.Println(macts.FgColor.Red(s))
	fmt.Println(macts.FgColor.Green(s))
	fmt.Println(macts.FgColor.Yellow(s))
	fmt.Println(macts.FgColor.Blue(s))
	fmt.Println(macts.FgColor.Magenta(s))
	fmt.Println(macts.FgColor.Cyan(s))
	fmt.Println(macts.FgColor.White(s))

执行结果:

img

2、macts.BgColor:背景颜色

	s := "你好世界!Hello World !!!"
	fmt.Println(macts.BgColor.Black(s))
	fmt.Println(macts.BgColor.Red(s))
	fmt.Println(macts.BgColor.Green(s))
	fmt.Println(macts.BgColor.Yellow(s))
	fmt.Println(macts.BgColor.Blue(s))
	fmt.Println(macts.BgColor.Magenta(s))
	fmt.Println(macts.BgColor.Cyan(s))
	fmt.Println(macts.BgColor.White(s))

执行结果:

img

3、macts.BgColorBright:高亮背景颜色

	s := "你好世界!Hello World !!!"
	fmt.Println(macts.BgColorBright.Black(s))
	fmt.Println(macts.BgColorBright.Red(s))
	fmt.Println(macts.BgColorBright.Green(s))
	fmt.Println(macts.BgColorBright.Yellow(s))
	fmt.Println(macts.BgColorBright.Blue(s))
	fmt.Println(macts.BgColorBright.Magenta(s))
	fmt.Println(macts.BgColorBright.Cyan(s))
	fmt.Println(macts.BgColorBright.White(s))

执行效果:

img

4、macts.Style:字体样式

	s := "你好世界!Hello World !!!"
	fmt.Println(macts.Style.Bold(s)) // 加粗
	fmt.Println(macts.Style.Downplay(s)) // 淡化
	fmt.Println(macts.Style.Italic(s)) // 倾斜
	fmt.Println(macts.Style.Underline(s)) // 下划线
	fmt.Println(macts.Style.Reverse(s)) // 反转

执行效果:

img

仍有一些其他的样式未能实现,因为在实际测试中未成功显示出结果

5、macts.Render:自定义渲染

	s := "你好世界!Hello World !!!"
	// 加粗 绿色字体 白色背景 无高亮
	fmt.Println(macts.Render(s, "Bold", "Green", "White", 0))
	// 倾斜 红色字体 无背景 无高亮
	fmt.Println(macts.Render(s, "Italic", "Red", "", 0))
	// 淡化 红色字体 黑色背景 高亮
	fmt.Println(macts.Render(s, "Downplay", "Red", "Black", 1))
	// 下划线 蓝色字体 黄色背景 高亮
	fmt.Println(macts.Render(s, "Underline", "Blue", "Yellow", 1))
	// 反转文字与背景颜色 蓝色字体 黄色背景 高亮
	fmt.Println(macts.Render(s, "Reverse", "Blue", "Yellow", 1))
	// 无样式 黄色字体 蓝色背景 无高亮
	fmt.Println(macts.Render(s, "", "Yellow", "Blue", 0))
	// 加粗 黄色字体 蓝色背景 无高亮
	fmt.Println(macts.Render(s, "Bold", "Yellow", "Blue", 0))

执行效果:

img

通过反转文字与背景颜色加上背景高亮,可以实现文字高亮效果,可以参考以上三种黄蓝配色

可自行编写函数保存不同的配色方案,实现快速使用

所有函数执行的返回值均为string类型的值,建议在字符串处理完毕后,在使用此函数赋予颜色

参考链接:

讓Terminal.app的關鍵字有顏色 – 41筆記

标签:macts,BgColor,fmt,BgColorBright,Println,Mac,GO,FgColor,美化
From: https://www.cnblogs.com/lrain/p/18134250

相关文章

  • Evolutionary many-objective optimization algorithm based on angle and clustering
    Evolutionarymany-objectiveoptimizationalgorithmbasedonangleandclustering本文的工作本文提出了一种新的MaOEA,它使用锐角作为相似度量。通过聚类方法,最终将种群划分为若干个聚类,每个聚类中仅选择一个个体,以保持环境选择的趋同性和多样性。据我们所知,我们首先尝试利......
  • 如何在 VMware ESXi 上运行 macOS
    VMwarevSphere是领先的硬件虚拟化平台,允许您在不同的主机上运行具有各种操作系统(包括Windows、Linux和FreeBSD)的虚拟机,并在主机之间迁移虚拟机。但默认情况下,VM上不支持macOS,即无法在VMwareESXi或VMwareWorkstation上安装和配置。在某些情况下,您可能需要在虚拟机上安......
  • Godot.NET C#IOC重构(2):TileMap 详解
    目录前言TileMap添加TileMap绘制TileMap连续图块修改纹理原点统一设置自动地形匹配规则修改匹配概率修改概率前修改概率后随机图块Scattering不连续间隔图层关系总结前言这里对Godot中的TileMap进行详细的说明TileMap添加TileMap添加需要一个像素的素材,例如下面的图片......
  • go切片和指针切片
    转载请注明出处:在Go语言中,切片(Slice)和指针的切片(即切片中每个元素都是指向某种数据类型的指针)是两个不同的概念,它们各自具有特定的用途和优势。切片(Slice)切片是对数组的一个连续片段的引用,它提供了对数组元素集合的抽象表示。切片底层数据结构都是数组,它包含三个关键部......
  • 2024-04-13:用go语言,给定一个整数数组 `nums`, 请编写一个函数,返回一个新的数组 `counts
    2024-04-13:用go语言,给定一个整数数组nums,请编写一个函数,返回一个新的数组counts。满足以下条件:对于每个nums[i],counts[i]表示在nums[i]右侧且比nums[i]小的元素数量。输入:nums=[5,2,6,1]。输出:[2,1,1,0]。答案2024-04-13:来自左程云。灵捷3.5大体过程如下:给定......
  • 从Google网页中通过正则表达式获取json如何转换unicode对象
    场景:Google爬虫,获取下拉框搜索关键词,需要获取页面的里面的json字符串如下面:'{\\x22aa\\x22:{},\\x22abd\\x22:{\\x22abd\\x22:false,\\x22deb\\x22:false,\\x22det\\x22:false},\\x22async\\x22:{},\\x22attn\\x22:{},\\x22bgd\\x22:{\\x22ac\\x22:true,\\x......
  • fscan安装及用法- Mac
    安装安装go环境https://go.dev/dl/下载源码https://github.com/shadow1ng/fscan进行编译编译命令:gobuild-ldflags="-s-w"-trimpathmain.go编译报错:go:github.com/denisenkom/[email protected]:Get"https://proxy.golang.org/github.com/denisenkom/......
  • VSCode使用Go插件
    本文更新于2023-12-26,使用VSCode1.85.1、Go插件v0.40.1。安装Go插件:使用Ctrl+Shift+X打开扩展面板,搜索“Go”,安装“Go”插件(GoforVisualStudioCode)。安装Go插件的依赖工具:因国内无法访问proxy.golang.org,故需自行配置模块代理。运行cmd。在cmd中运行setGOPROXY=h......
  • Go文档:Release History(发布历史)
    本文更新于2024-03-22。官方文档:https://go.dev/doc/devel/release目录泛型go1.22.0(2024-02-06)go1.21.0(2023-08-08)go1.20(2023-02-01)go1.19(2022-08-02)go1.18(2022-03-15)模块go1.17(2021-08-16)go1.16(2021-02-16)go1.15(2020-08-11)go1.14(2020-02-25)go1.13(......
  • 16、数据库加固-mongo 加固
    1.指定日志与数据库存放位置在配置文件中设置指向目录位置自建配置文件:vim/usr/local/mongodb/etc/mongodb.confdbpath=/data/dblogpath=/usr/local/mongodb/logs/mongdb.log2.更改默认端口自建配置文件:vim/usr/local/mongodb/etc/mongodb.confport=28888开......