静态方法问题
小于 1 分钟
静态方法问题
目前go的编写静态方法是一个包对应一个文件,而这个文件里面定义的参数,函数都是该包的静态方法,也就说,go文件里面所定义的以前东西都是包作用域 以这个包作为例子:
package LogUtils
import (
"log"
"os"
)
const (
InfoText = "\033[1;32;40m[info]\033[0m "
WarningText = "\033[1;33;40m[warning]\033[0m "
ErrorPrintText = "\033[1;31;40m[error]\033[0m "
EndPrintText = "\033[1;36;40m[end]\033[0m "
)
var logger *log.Logger
func init() {
logger = log.New(os.Stdout, "[Debug] - ", log.LstdFlags|log.Lshortfile|log.Lmsgprefix)
}
func Info(v ...string) {
logger.Println(InfoText, v)
}
func Warning(v ...any) {
logger.Println(WarningText, v)
}
func ErrorPrint(v ...any) {
logger.Panicln(ErrorPrintText, v)
}
func EndPrint(v ...any) {
logger.Fatalln(EndPrintText, v)
}
在这里,调用对应方法只需要
LogUtils.Info("aaaa")
在go里面使用大小写区分公共方法和私有方法