在 Go 中使用 256 色

我如何在 Golang 的终端中使用 256 色。

因为像 faith/color 这样的库只有有限的颜色支持。

这个 python 库 在这里

使用某种默认代码和颜色代码在终端中打印彩色文本。

我尝试使用颜色代码,而不是在 go 程序中打印颜色代码,而是在 python 程序中打印彩色文本。

我怎样才能像上面的库那样使用颜色代码打印颜色...

我需要初始化终端吗?如果是如何?

谢谢!

我期望在终端中打印 256 种颜色。

*去版本:1.18.7


茅侃侃
浏览 107回答 1
1回答

哈士奇WWW

Windows 可能很奇怪。在某些情况下,您需要设置控制台模式。如果您使用的是 Windows,请将其指定为问题的一部分。colors.go:package mainimport (&nbsp; &nbsp; "fmt"&nbsp; &nbsp; "strconv")func main() {&nbsp; &nbsp; setConsoleColors()&nbsp; &nbsp; for i := 0; i < 16; i++ {&nbsp; &nbsp; &nbsp; &nbsp; for j := 0; j < 16; j++ {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; code := strconv.Itoa(i*16 + j)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; color := "\u001b[38;5;" + code + "m"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fmt.Printf("%s %-4s", color, code)&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; fmt.Println()&nbsp; &nbsp; }&nbsp; &nbsp; fmt.Print("\u001b[0m")}colors_windows.go://go:build windowspackage mainimport "golang.org/x/sys/windows"func setConsoleColors() error {&nbsp; &nbsp; console := windows.Stdout&nbsp; &nbsp; var consoleMode uint32&nbsp; &nbsp; windows.GetConsoleMode(console, &consoleMode)&nbsp; &nbsp; consoleMode |= windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING&nbsp; &nbsp; return windows.SetConsoleMode(console, consoleMode)}colors_other.go://go:build !windowspackage mainfunc setConsoleColors() error {&nbsp; &nbsp; return nil}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go