gitee.com/sy_183/go-common@v1.0.5-0.20231205030221-958cfe129b47/errors/argument-missing.go (about) 1 package errors 2 3 import ( 4 "strings" 5 ) 6 7 type ArgumentMissing struct { 8 Arguments []string 9 } 10 11 func NewArgumentMissing(arguments ...string) ArgumentMissing { 12 return ArgumentMissing{Arguments: arguments} 13 } 14 15 func (e ArgumentMissing) Error() string { 16 return "缺少必要的参数(" + strings.Join(e.Arguments, ",") + ")" 17 } 18 19 func (e ArgumentMissing) AddParentArgument(parent string) { 20 for i, argument := range e.Arguments { 21 e.Arguments[i] = AddParentArgument(argument, parent) 22 } 23 } 24 25 func (e ArgumentMissing) ReplaceParentArgument(parent string) { 26 for i, argument := range e.Arguments { 27 e.Arguments[i] = ReplaceParentArgument(argument, parent) 28 } 29 } 30 31 type ArgumentMissingOne struct { 32 Arguments []string 33 } 34 35 func NewArgumentMissingOne(arguments ...string) ArgumentMissingOne { 36 return ArgumentMissingOne{Arguments: arguments} 37 } 38 39 func (e ArgumentMissingOne) Error() string { 40 return "缺少必要的参数之一(" + strings.Join(e.Arguments, ",") + ")" 41 } 42 43 func (e ArgumentMissingOne) AddParentArgument(parent string) { 44 for i, argument := range e.Arguments { 45 e.Arguments[i] = AddParentArgument(argument, parent) 46 } 47 } 48 49 func (e ArgumentMissingOne) ReplaceParentArgument(parent string) { 50 for i, argument := range e.Arguments { 51 e.Arguments[i] = ReplaceParentArgument(argument, parent) 52 } 53 }