错误消息

This commit is contained in:
Yun
2025-10-26 20:32:02 +08:00
parent 5c951132d9
commit 5b6002c688
11 changed files with 319 additions and 110 deletions
+48
View File
@@ -0,0 +1,48 @@
package main
import (
"context"
"github.com/yuninks/langx"
)
func main() {
err := ErrorWithMsg.Error()
// 输出:错误
println(err.Error())
err = ErrorWithMsg.Errorf(map[string]string{"msg": "错误"})
// 输出:错误
println(err.Error())
}
type Language string
// 添加key+默认语言
func newLanguage(uniKey string, code int, defaultValue string) Language {
langx.AppendCode(map[string]int{uniKey: code})
langx.AppendTrans("zh_hans", map[string]string{uniKey: defaultValue})
return Language(uniKey)
}
func (l Language) String() string {
return string(l)
}
func (l Language) Error() error {
return langx.NewError(context.Background(), l.String())
}
func (l Language) Errorf(format map[string]string) error {
return langx.NewErrorf(context.Background(), l.String(), format)
}
var (
Success Language = newLanguage("success", 200, "成功")
Error Language = newLanguage("error", 400, "错误")
ErrorWithMsg Language = newLanguage("error_with_msg", 400, "错误 #msg#")
)
+4
View File
@@ -0,0 +1,4 @@
{
"success":200,
"error":400
}
+4
View File
@@ -0,0 +1,4 @@
{
"success":"Success",
"error":"Error #msg#"
}
+4
View File
@@ -0,0 +1,4 @@
{
"success":"成功",
"error":"失败 #msg#"
}
+54
View File
@@ -0,0 +1,54 @@
package main
import (
"embed"
"fmt"
"github.com/yuninks/langx"
)
//go:embed lang
var assetsFs embed.FS
func main() {
regByAppend()
}
// 导入语言包 基于Append
func regByAppend() {
langx.AppendCode(map[string]int{
"success": 200,
})
langx.AppendTrans("zh-CN", map[string]string{
"success": "成功",
})
code, msg := langx.GetTransFormat("zh-CN", "success", map[string]string{})
fmt.Println(code, msg)
}
// 导入语言包 基于Embed
func regByEmbed() {
err := langx.RegisterEmbed(assetsFs)
fmt.Println(err)
code, msg := langx.GetTransFormat("zh", "success", map[string]string{})
fmt.Println(code, msg)
code, msg = langx.GetTransFormat("en", "error", map[string]string{
"msg": "这是失败的原因",
})
fmt.Println(code, msg)
}
// 导入语言包 基于文件
func regByDir() {
langx.RegisterDir("./lang")
code, msg := langx.GetTransFormat("zh", "success", map[string]string{})
fmt.Println(code, msg)
code, msg = langx.GetTransFormat("en", "error", map[string]string{
"msg": "这是失败的原因",
})
fmt.Println(code, msg)
}
+7
View File
@@ -0,0 +1,7 @@
# 导入资源
# 通过embed导入
# 通过文件导入
# 追加导入