让shell终端和goland控制台输出彩色的文字

本文介绍了如何在Mac的shell终端和Goland控制台中实现彩色文字输出。在Shell中,通过特定的033标识符结合颜色代码来设置文字颜色和背景色,如033[5;32;41m表示闪烁的绿色文字和红色背景。在Go语言中,使用的标识符不同,但原理类似。此外,文章还探讨了数字在彩色输出中的含义,如27、91、59、109等对应的ASCII编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

终端输出彩色文字

开发工具:Mac,Goland,Mac自带shell。这是基于Mac的测试结果,根据读者留言,在Windows上不生效,标识符不一样。

在终端输出这段命令,将的到一个红色背景、绿色文字,并不停闪烁的输出。

sszxr:~ sszxr$ echo  -e "\033[5;32;41mI ♡  You \033[0m"
I ♡  You 
sszxr:~ sszxr$ 

双引号中的反斜杠\表示转义,033是标识符,表示用来设置颜色,[表示开始颜色设置,m为颜色设置结束。[后面的5表示闪烁,分号后面的32表示前景色,也就是文字的颜色,为绿色;再后面41表示背景色,为红色,到m为设置结束,后面是输出的内容,最后为再一次设置颜色,0m表示取消颜色设置。
从括号[m中间为颜色设置,以;号分隔。
样式有【0,1,4,5,7,8】六种,分别是:

0  终端默认设置
1  高亮显示
4  使用下划线
5  闪烁
7  反白显示
8  不可见

颜色有7中,分别为

前景 背景 颜色
30  40  黑色
31  41  红色
32  42  绿色
33  43  黄色
34  44  蓝色
35  45  紫红色
36  46  青蓝色
37  47  白色

3开头是前景色,也就是文字的颜色;4开头是背景色。

Go语言中的彩色输出

样式和颜色与上面一样,只是标识符不一样,

fmt.Printf("%c[0;41;36m%s%c[0m\n", 0x1B, "testPrintColor", 0x1B)

标识符为0x1B,具体设置也是在[m之间,以分号;分隔。

另一种方式
package main

import (
	"fmt"
)

var (
	greenBg      = string([]byte{
   27, 91, 57, 55, 59, 52, 50, 109})
	whiteBg      = string([]byte{
   27, 91, 57, 48, 59, 52, 55, 109})
	yellowBg     = string([]byte{
   27, 91, 57, 48, 59, 52, 51, 109})
	redBg        = string([]byte{
   27, 91, 57, 55, 59, 52, 49, 109})
	blueBg       = string([]byte{
   27, 91
### 如何在 Goland 中减少或清理过多的路径输出 Goland 是一款专为 Go 开发者设计的强大 IDE,提供了丰富的功能来提升开发效率。然而,在某些情况下,开发者可能会遇到终端或日志中显示大量冗余路径的情况。这通常是因为调试模式下的详细信息输出或是构建过程中的默认行为所致。 #### 调整 Goland 的路径输出设置 可以通过调整 Goland 的相关设置来减少不必要的路径输出。具体方法如下: 1. **修改运行/调试配置** 在 Goland 中,运行调试配置决定了程序启动时的行为以及日志记录的内容。通过自定义这些配置,可以有效减少多余的路径信息输出。 - 打开 `Run` -> `Edit Configurations...`。 - 选择对应的运行配置(如 `Go Build` 或 `Go Test`),找到环境变量部分。 - 添加或编辑环境变量 `GOFLAGS=-trimpath` 来启用路径修剪功能[^1]。此标志会告诉编译器去掉源码路径前缀,从而减少最终输出中的冗余路径信息。 2. **禁用详细的构建日志** 如果构建过程中产生了大量的路径细节,默认可能是由于开启了详尽的日志级别造成的。可以在构建选项中关闭这一特性: - 进入 `File` -> `Settings` (Windows/Linux) 或 `Goland` -> `Preferences` (macOS)。 - 导航到 `Tools` -> `Go Tools`。 - 将 `Build tool arguments` 设置为空或者仅保留必要的参数,避免传递可能导致额外日志生成的开关。 3. **利用过滤器隐藏无关内容** 对于已经产生的过量路径输出,可以直接借助 Goland 自带的日志过滤机制屏蔽掉不需要的部分。 - 当查看控制台输出时,点击右上角的小齿轮图标 (`Show Options Menu`)。 - 启用正则表达式匹配,并输入类似于 `(\/.*?\.go)` 的规则以忽略具体的文件位置描述。 4. **升级至最新版 Goland** JetBrains 不断改进其产品线的功能与性能表现。如果当前使用的版本较旧,则可能缺乏针对此类问题的新解决方案。建议定期更新至最新的稳定发行版,以便享受更优体验的同时解决问题根源所在。 ```bash export GOFLAGS="-trimpath" ``` 以上措施能够显著改善因路径溢出带来的困扰,同时保持良好的可读性维护便利性。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值