Golang:如何为 fmt.Fprintf 输出着色?

Ale*_*hen 3 go

我知道我可以向 fmt.Println 输出添加颜色,如下所示:

package main

import (
    "fmt"
)

func main() {
    colorReset := "\033[0m"
    colorRed := "\033[31m"
    fmt.Println(string(colorRed), "test", string(colorReset))
    fmt.Println("next")
}
Run Code Online (Sandbox Code Playgroud)

有什么方法可以对 的输出进行着色吗fmt.Fprintf

小智 8

以与使用 Println 相同的方式,您可以使用 Fprintf 的颜色,例如

const colorRed = "\033[0;31m"
const colorNone = "\033[0m"

func main() {
    fmt.Fprintf(os.Stdout, "Red: \033[0;31m %s None: \033[0m %s", "red string", "colorless string")
    fmt.Fprintf(os.Stdout, "Red: %s %s None: %s %s", colorRed, "red string", colorNone, "colorless string")
}
Run Code Online (Sandbox Code Playgroud)