color.Bold.Println("bold message")
color.Black.Println("bold message")
color.White.Println("bold message")
color.Gray.Println("bold message")
color.Red.Println("yellow message")
color.Blue.Println("yellow message")
color.Cyan.Println("yellow message")
color.Yellow.Println("yellow message")
color.Magenta.Println("yellow message")
// Only use foreground color
color.FgCyan.Printf("Simple to use %s\n", "color")
// Only use background color
color.BgRed.Printf("Simple to use %s\n", "color")
Жирный шрифт сообщения.
Чёрный шрифт сообщения.
Белый шрифт сообщения.
Серый шрифт сообщения.
Красное сообщение.
Синее сообщение.
Циановый (сине-зелёный) шрифт сообщения.
Жёлтое сообщение.
Пурпурное сообщение.
Только использовать основной цвет.
Простой в использовании цвет.
Использовать только фоновый цвет.
Просто использовать цвет.
// 仅设置前景色
color.FgCyan.Printf("Simple to use %s\n", "color")
// 仅设置背景色
color.BgRed.Printf("Simple to use %s\n", "color")
// 完全自定义: 前景色 背景色 选项
style := color.New(color.FgWhite, color.BgBlack, color.OpBold)
style.Println("custom color style")
// 也可以:
color.Style{color.FgCyan, color.OpBold}.Println("custom color style")
Напрямую установить свойства консоли:
// 设置console颜色
color.Set(color.FgCyan)
// 输出信息
fmt.Print("message")
// 重置console颜色
color.Reset()
Конечно, у color уже есть богатая поддержка цветов.
Расширенные методы стиля
Предоставляет общий API-метод: Print, Printf, Println, Sprint, Sprintf.
Поддерживает использование в Windows cmd.exe, PowerShell и других терминалах.
Базовое использование:
// print message
color.Info.Println("Info message")
color.Note.Println("Note message")
color.Notice.Println("Notice message")
color.Error.Println("Error message")
color.Danger.Println("Danger message")
color.Warn.Println("Warn message")
color.Debug.Println("Debug message")
color.Primary.Println("Primary message")
color.Question.Println("Question message")
color.Secondary.Println("Secondary message")
Запустите демонстрацию: go run ./_examples/theme_basic.go
Упрощённый стиль подсказки
color.Info.Tips("Info tips message")
color.Note.Tips("Note tips message")
color.Notice.Tips("Notice tips message")
color.Error.Tips("Error tips message")
color.Danger.Tips("Danger tips message")
color.Warn.Tips("Warn tips message")
color.Debug.Tips("Debug tips message")
color.Primary.Tips("Primary tips message")
color.Question.Tips("Question tips message")
color.Secondary.Tips("Secondary tips message")
Запустите демонстрацию: go run ./_examples/theme_tips.go
Подчёркивающий стиль подсказки
color.Info.Prompt("Info prompt message")
color.Note.Prompt("Note prompt message")
color.Notice.Prompt("Notice prompt message")
color.Error.Prompt("Error prompt message")
color.Danger.Prompt("Danger prompt message")
Запустите демонстрацию: go run ./_examples/theme_prompt.go
Выделенный стиль подсказки
color.Warn.Block("Warn block message")
color.Debug.Block("Debug block message")
color.Primary.Block("Primary block message")
color.Question.Block("Question block message")
color.Secondary.Block("Secondary block message")
Запустите демонстрацию: go run ./_examples/theme_block.go
Поддержка 256-цветной палитры в версиях после v1.2.4 для среды Windows CMD, PowerShell.
Использование переднего или заднего плана:
color.C256(val uint8, isBg ...bool) Color256
c := color.C256(132) // fg color
c.Println("message")
c.Printf("format %s", "message")
c := color.C256(132, true) // bg color
c.Println("message")
c.Printf("format %s", "message")
Использование 256 цветовой палитры:
Можно одновременно установить передний план и фон.
color.S256(fgAndBg ...uint8) *Style256
s := color.S256(32, 203)
s.Println("message")
s.Printf("format %s", "message")
Можно добавить параметры настройки:
s := color.S256(32, 203)
s.SetOpts(color.Opts{color.OpBold})
s.Println("style with options")
s.Printf("style with %s\n", "options")
Запустите демонстрацию: go run ./_examples/color_256.go
Поддержка RGB/True цветов в версиях после v1.2.4 для среды Windows CMD, PowerShell.
Эффект предварительного просмотра:
Запустите демонстрацию: Run demo: go run ./_examples/color_rgb.go
color.HEXStyle("eee", "D50000").Println("deep-purple color")
### Использование переднего плана или фона цвета
- `color.RGB(r, g, b uint8, isBg ...bool) RGBColor`
```go
c := color.RGB(30,144,255) // fg color
c.Println("message")
c.Printf("format %s", "message")
c := color.RGB(30,144,255, true) // bg color
c.Println("message")
c.Printf("format %s", "message")
color.HEX(hex string, isBg ...bool) RGBColor
из шестнадцатеричного цвета создатьc := color.HEX("ccc") // также можно записать как: "cccccc" "#cccccc"
c.Println("message")
c.Printf("format %s", "message")
c = color.HEX("aabbcc", true) // как цвет фона
c.Println("message")
c.Printf("format %s", "message")
Можно одновременно установить передний план и фон цвета
color.NewRGBStyle(fg RGBColor, bg ...RGBColor) *RGBStyle
s := color.NewRGBStyle(RGB(20, 144, 234), RGB(234, 78, 23))
s.Println("message")
s.Printf("format %s", "message")
color.HEXStyle(fg string, bg ...string) *RGBStyle
из шестнадцатеричного цвета создатьs := color.HEXStyle("11aa23", "eee")
s.Println("message")
s.Printf("format %s", "message")
s := color.HEXStyle("11aa23", "eee")
s.SetOpts(color.Opts{color.OpBold})
s.Println("style with options")
s.Printf("style with %s\n", "options")
Поддержка в windows
cmd.exe
PowerShell
использовать
Использовать встроенные цветовые теги, можно очень удобно и просто создавать любой нужный формат
Одновременно поддерживает пользовательские атрибуты цвета: поддерживает использование шестнадцати цветов, 256 цветов, значений RGB и шестнадцатеричных значений цвета
// Использовать встроенные цветовые теги
color.Print("<suc>he</><comment>llo</>, <cyan>wel</><red>come</>")
color.Println("<suc>hello</>")
color.Println("<error>hello</>")
color.Println("<warning>hello</>")
// Пользовательские атрибуты цвета
color.Print("<fg=yellow;bg=black;op=underscore;>hello, welcome</>\n")
// Пользовательские атрибуты цвета: поддержка использования шестнадцати цветов, 256 цветов, значений RGB и шестнадцатеричных значений цвета
color.Println("<fg=11aa23>he</><bg=120,35,156>llo</>, <fg=167;bg=232>wel</><fg=red>come</>")
color.Tag
Добавить заданный стиль к последующему выводу текста
// Установить стиль тега
color.Tag("info").Print("text в стиле info")
color.Tag("info").Printf("%s text в стиле info", "info")
color.Tag("info").Println("text в стиле info")
Запустить демо:
go run ./_examples/color_tag.go
Поддерживает Rgb, 256, шестнадцать цветов между взаимными преобразованиями Rgb <=> 256 <=> 16
basic := color.Red
basic.Println("basic color")
c256 := color.Red.C256()
c256.Println("256 color")
c256.C16().Println("basic color")
rgb := color.Red.RGB()
rgb.Println("rgb color")
rgb.C256().Println("256 color")
Дополнительные методы преобразования в RGBColor
:
func RGBFromSlice(rgb []uint8, isBg ...bool) RGBColor
func RGBFromString(rgb string, isBg ...bool) RGBColor
func HEX(hex string, isBg ...bool) RGBColor
func HSL(h, s, l float64, isBg ...bool) RGBColor
func HSLInt(h, s, l int, isBg ...bool) RGBColor
Некоторые полезные инструменты
Disable()
отключить рендеринг цветаSetOutput(io.Writer)
настроить вывод цветного текстаForceOpenColor()
принудительно открыть рендеринг цветаClearCode(str string) string
Использовать для очистки цветовых кодовColors2code(colors ...Color) string
Преобразовать цвета в код. вернуть как «32;45;3»ClearTag(s string) string
очистить все цветовые HTML-теги для строкиIsConsole(w io.Writer)
Определить, является ли w одним из stderr, stdout, stdinHexToRgb(hex string) (rgb []int)
Преобразовать шестнадцатеричную строку цвета в числа RGBRgbToHex(rgb []int) string
Преобразование RGB в шестнадцатеричный кодПосмотрите на эти проекты, использующие https://github.com/gookit/color:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )