亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Go 中使用 256 色

在 Go 中使用 256 色

Go
茅侃侃 2023-03-07 16:50:17
我如何在 Golang 的終端中使用 256 色。因為像 faith/color 這樣的庫只有有限的顏色支持。這個 python 庫 在這里使用某種默認代碼和顏色代碼在終端中打印彩色文本。我嘗試使用顏色代碼,而不是在 go 程序中打印顏色代碼,而是在 python 程序中打印彩色文本。我怎樣才能像上面的庫那樣使用顏色代碼打印顏色...我需要初始化終端嗎?如果是如何?謝謝!我期望在終端中打印 256 種顏色。*去版本:1.18.7
查看完整描述

1 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

Windows 可能很奇怪。在某些情況下,您需要設置控制臺模式。如果您使用的是 Windows,請將其指定為問題的一部分。


colors.go:


package main


import (

    "fmt"

    "strconv"

)


func main() {

    setConsoleColors()


    for i := 0; i < 16; i++ {

        for j := 0; j < 16; j++ {

            code := strconv.Itoa(i*16 + j)

            color := "\u001b[38;5;" + code + "m"

            fmt.Printf("%s %-4s", color, code)

        }

        fmt.Println()

    }

    fmt.Print("\u001b[0m")

}

colors_windows.go:


//go:build windows


package main


import "golang.org/x/sys/windows"


func setConsoleColors() error {

    console := windows.Stdout

    var consoleMode uint32

    windows.GetConsoleMode(console, &consoleMode)

    consoleMode |= windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING

    return windows.SetConsoleMode(console, consoleMode)

}

colors_other.go:


//go:build !windows


package main


func setConsoleColors() error {

    return nil

}


查看完整回答
反對 回復 2023-03-07
  • 1 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號