在编写go项目的时候,有时候需要某个变量或者常量需要在全局使用,例如: 日志记录器,这时候就可以通过init函数进行定义初始化了,如下:

package gcs

import (
	"gitee.com/liumou_site/logger"
)

var logs *logger.LocalLogger // 日志打印

func init() {
	logs = logger.NewLogger(3)
	logs.Version = Version()
	logs.Modular = "gcs"
}

然后在项目中就可以直接使用logs这个实例去记录了,如下:

// AptLocalInstallStr 使用apt安装本地文件(字符串),直接安装,不会检测文件是否存在
func (api *ApiApt) AptLocalInstallStr(installStr, name string) bool {
	api.cmd.RunShell("apt install -y -f", installStr)
	if api.cmd.Err == nil {
		logs.Info("[ %s ] Installation succeeded", name)
	} else {
		logs.Error("[ %s ] Installation Failed: ", name)
	}
	return api.cmd.Err == nil
}