package lib import ( "bytes" "errors" "fmt" "strings" "github.com/sirupsen/logrus" ) type AIParam struct { // 机器人数量 RobotCount uint32 } type SceneParam struct { Name string Desc string } func (a *AIParam) Check() error { var errMsgs []string if a.RobotCount == 0 { errMsgs = append(errMsgs, "机器人数量至少1个") } var buf bytes.Buffer buf.WriteString("AI 参数校验") if errMsgs != nil { errMsg := strings.Join(errMsgs, " ") buf.WriteString(fmt.Sprintf("未通过 (%s)", errMsg)) logrus.Debug(buf.String()) return errors.New(errMsg) } buf.WriteString( fmt.Sprintf("通过 机器人数量:%v", a.RobotCount)) logrus.Debug(buf.String()) return nil }