[Go] fatih/color를 사용하여 콘솔에서 컬러 출력 문자열

8503 단어 Gotech
Go로 콘솔에 색상이 들어간 문자열을 출력하고 싶은 경우fatih/color 포장을 해봤는데 사용이 편리해 메모입니다.
https://github.com/fatih/color
https://pkg.go.dev/github.com/fatih/color

간단한 예


컬러 문자열만 간단하게 출력하려면 color.{色名}().
출력할 때 자동으로 줄을 바꿀 수 있습니다.
매개변수는 형식 문자열fmt.Printf()을 사용할 수 있습니다.
main.go
package main

import (
	"github.com/fatih/color"
)

func main() {
	color.Black("Black")
	color.Blue("Blue")
	color.Cyan("Cyan")
	color.Green("Green")
	color.HiBlack("HiBlack")
	color.HiBlue("HiBlue")
	color.HiCyan("HiCyan")
	color.HiGreen("HiGreen")
	color.HiMagenta("HiMagenta")
	color.HiRed("HiRed")
	color.HiWhite("HiWhite")
	color.HiYellow("HiYellow")
	color.Magenta("Magenta")
	color.Red("Red")
	color.White("White")
	color.Yellow("Yellow")

	color.Red("hello %s", "world")
}

또한 color.{色名}String()를 사용하여 문자열로 가져올 수 있습니다.
main.go
package main

import (
	"fmt"

	"github.com/fatih/color"
)

func main() {
	s := color.RedString("hello")
	fmt.Printf("%#v", s) // => "\x1b[31mhello\x1b[0m"
}

다양한 형식의 조합 예


예를 들어, 텍스트 색상뿐만 아니라 배경색이나 굵기를 더하려면 색상 객체를 작성해야 합니다.
그렇게 말하지만 특별히 복잡한 설정이 필요 없고 사용하기 쉬운 규격이다.
사용할 수 있는 형식은 문서을 참조하십시오.
main.go
package main

import (
	"github.com/fatih/color"
)

func main() {
	// 文字色を赤、背景色を青
	c := color.New(color.FgRed, color.BgBlue)
	// `Add()` を使用して途中で追加することもできる
	// 下線を設定
	c.Add(color.Underline)

	// 他にも `fmt` パッケージでお馴染みの `Print()`, `Fprint()`, `Sprint()` なども使える
	c.Println("hello")
}

참고 자료


https://pkg.go.dev/github.com/fatih/color

좋은 웹페이지 즐겨찾기