Ir series biblioteca para el lenguaje de la aurora

fondo

Hoy en día uno puede recomendar a la terminal de salida de colorear herramientas --aurora con usted.

expediente

Velocidad para empezar

preparativos

Inicializar el proyecto

go mod init aurora

estructura de proyecto de demostración

.
├── go.mod
├── go.sum
└── main.go

paquete de instalación de Aurora

go get -u github.com/logrusorgru/aurora

código demuestra

Presentado por primera vez aurora biblioteca

import . "github.com/logrusorgru/aurora"

La salida de contenido de un color magenta, magenta es el método de color de nomenclatura

fmt.Println("Hello,", Magenta("Aurora"))

Y entonces la salida un nombre azul negrita

fmt.Println(Bold(Cyan("Cya!")))

El código completo es el siguiente

package main

import (
	"fmt"

	. "github.com/logrusorgru/aurora"
)

func main() {
	fmt.Println("Hello,", Magenta("Aurora"))
	fmt.Println(Bold(Cyan("Cya!")))
}

Después de ejecutar de salida sigue

expediente

más Juego

Apoyar la función de salida con formato

Además de las funciones de salida de envoltura exterior, Aurora soporta la función de salida con formato

msg := fmt.Sprintf("My name is %s", Green("pingyeaa"))
fmt.Println(msg)

expediente

llamadas encadenadas

Podemos llamadas nido a un fondo verde rojo negrita

fmt.Println(BgGreen(Bold(Red("pingyeaa"))))

expediente

También pueden ser llamadas encadenadas también puede lograr el mismo efecto, una mayor legibilidad de este enfoque

fmt.Println(Red("pingyeaa").Bold().BgGreen())

redacción más fácil

Además de las llamadas de la cadena, hay una formulación más fácil se consigue por operador binario OR

fmt.Println(Colorize("Greeting", GreenFg|RedBg|BoldFm))

La definición oficial de 10 tipos de constantes, los estudiantes interesados ​​pueden estudiar el código fuente en sí

const (

	BlackBg   Color = (iota << shiftBg) | flagBg // 40, 100
	RedBg                                        // 41, 101
	GreenBg                                      // 42, 102
	YellowBg                                     // 43, 103
	BlueBg                                       // 44, 104
	MagentaBg                                    // 45, 105
	CyanBg                                       // 46, 106
	WhiteBg                                      // 47, 107

	BrightBg Color = ((1 << 3) << shiftBg) | flagBg // -> 100

	BrownBg = YellowBg

	maskBg = (0xff << shiftBg) | flagBg
)

Lo mismo puede también ser llamadas en cadena con el uso de

fmt.Println(Red("x").Colorize(GreenFg))

apoyo en escala de grises

La denominada escala de grises, es el cambio en la luminancia entre los más ligeros y las zonas más oscuras dividido en varias partes

expediente

métodos digitales de gris representa el valor de profundidad, el apoyo para el fondo y el color del texto

fmt.Println("  ",
	Gray(1-1, " 00-23 ").BgGray(24-1),
	Gray(4-1, " 03-19 ").BgGray(20-1),
	Gray(8-1, " 07-15 ").BgGray(16-1),
	Gray(12-1, " 11-11 ").BgGray(12-1),
	Gray(16-1, " 15-07 ").BgGray(8-1),
	Gray(20-1, " 19-03 ").BgGray(4-1),
	Gray(24-1, " 23-00 ").BgGray(1-1),
)

expediente

parpadeo de apoyo

fmt.Println(Blink("Blink"))

restricciones

Formateado en funciones de salida %Ty %pno es de color camino

r := Red("red")
var i int
fmt.Printf("%T %p\n", r, Green(&i))
aurora.value %!p(aurora.value={0xc42000a310 768 0})

Sin embargo, el color puede ser resuelto por anidación en la capa externa

fmt.Println(Red(fmt.Sprintf("%T %p\n", r, Green(&i))))

Ir código de ejemplo la librería del lenguaje, dio la bienvenida a la estrella
https://github.com/pingyeaa/golang-examples

Gracias por su atención, en caso de que el artículo a usted, ayudar a la atención de bienvenida al número público "nivel también está" centrando lenguaje Go y principios técnicos.
mi preocupación

Supongo que te gusta

Origin www.cnblogs.com/pingyeaa/p/12637271.html
Recomendado
Clasificación