Write the Code. Change the World.

7月 28

很多时候,都是终端里看信息。多色的信息就很好看了。我是一个实在人,就从零开始搞一个。其实是别人搞好了,我拿来用。

开始

终端高亮,我们用这个 https://github.com/mgutz/ansi

先建立一个 go 项目

mkdir artisan 
cd artisan 
go mod init artisan

再安装 ansi

go get github.com/mgutz/ansi

然后再封装一个调用方法包

mkdir -p pkg/console
touch pkg/console/console.go

console.go

// Package console 命令行辅助方法
package console

import (
    "fmt"
    "os"

    "github.com/mgutz/ansi"
)

// Success 打印一条成功消息,绿色输出
func Success(msg string) {
    colorOut(msg, "green")
}

// Error 打印一条报错消息,红色输出
func Error(msg string) {
    colorOut(msg, "red")
}

// Warning 打印一条提示消息,黄色输出
func Warning(msg string) {
    colorOut(msg, "yellow")
}

// Exit 打印一条报错消息,并退出 os.Exit(1)
func Exit(msg string) {
    Error(msg)
    os.Exit(1)
}

// ExitIf 语法糖,自带 err != nil 判断
func ExitIf(err error) {
    if err != nil {
        Exit(err.Error())
    }
}

// colorOut 内部使用,设置高亮颜色
func colorOut(message, color string) {
    fmt.Fprintln(os.Stdout, ansi.Color(message, color))
}

最后,新建一个 main.go 然后,调用

touch main.go

package main

import "artisan/pkg/console"

func main() {
    console.Success("多少恨昨夜梦魂中,还似旧时游上苑。车如流水马如龙,花月正春风。")
}

go run main.go

这个时候就可以看到绿色的输出了。