Skip to content

准备工作

在使用Go语言进行开发时,我们经常需要打印一些信息,比如成功、失败、警告、提示等等,Go语言内置的fmt包提供了一些打印信息的方法,但是这些方法并不能很好地显示颜色,因此我们需要自己实现一些打印颜色的方法。

下面是我自己实现的一些打印颜色的方法,可以根据需要选择使用。但是需要依赖于 "github.com/gookit/color" 包,需要先安装。

zsh
$ go get -u github.com/gookit/color

安装完成后,我们可以定义一个 ui 包,里面包含一些打印颜色的方法。




目录结构

具体目录结构如下:

text
╭─root@master /temp/go 
╰─# tree
.
├── cmd
│   └── main.go
├── demo.txt
├── go.mod
├── go.sum
└── ui
    └── print.go

3 directories, 5 files
╭─root@master /temp/go 
╰─#




文件内容

我们首先在ui目录下新建一个 print.go 文件,其内容如下:

go
package ui

import (
	"fmt"

	"github.com/gookit/color"
)

// PrintSuccess 输出成功色字体
func PrintSuccess(msg string) {
	outPut(msg, color.FgGreen.Render("Success"))
}

// PrintError 输出失败色字体
func PrintError(msg string) {
	outPut(msg, color.FgRed.Render("Error"))
}

// PrintWarning 输出警告色字体
func PrintWarning(msg string) {
	outPut(msg, color.FgYellow.Render("Warning"))
}

// PrintInfo 输出提示色字体
func PrintInfo(msg string) {
	outPut(msg, color.FgCyan.Render("Info"))
}

// 最终输出
func outPut(msg string, header string) {
	normal := color.FgDefault.Render

	color.Println(fmt.Sprintf("[%s] %s", header, normal(msg)))
}

接着在需要输出彩色日志的相关文件中引入 ui 包,然后调用相关方法打印颜色字体即可,例如我在 main.go 文件中引入 ui 包,并调用相关方法打印颜色字体,具体内容如下:

go
package main

import "test/ui"

func main() {
	ui.PrintInfo("Hello World!")
	ui.PrintSuccess("Hello World!")
	ui.PrintError("Hello World!")
	ui.PrintWarning("Hello World!")
}

以上代码运行后,即可正常输出彩色日志。

Last updated:

Released under the MIT License.