我正在尝试使可重用的方法/ func进入将值结构推到结构中的另一个 slice /数组
我尝试过这样
import (
"fmt"
)
type ErrorValidate struct {
ErrorKey string
Message string
}
type ValidateMessage struct {
ErrorMessage []*ErrorValidate
}
func (v *ValidateMessage) AddError(err ErrorValidate) {
v.ErrorMessage = append(v.ErrorMessage, &err)
}
func main() {
s1 := *ValidateMessage{}
s1.AddError(&ErrorValidate{"theKey", "string"})
fmt.Println(*s1)
}
错误
invalid indirect of ValidateMessage literal (type ValidateMessage)
链接这里https://play.golang.org/p/VjdsiZQLroF
在那种情况下,我有一个Func用于Validate某些东西,然后我尝试在ErrorValidate上推送错误消息,但是我在条件中继续使用append,我试图使其减少但出现了上面的错误
最佳答案
您的代码中有几个问题。这是在生成您的错误(与您的append或该方法完全无关):
s1 := *ValidateMessage{}
这是无效的语法。您可能是
s1 := &ValidateMessage{}
。s1.AddError(&ErrorValidate{"theKey", "string"})
您正在尝试将
*ErrorValidate
传递给采用ErrorValidate
的函数。这应该是s1.AddError(ErrorValidate{"theKey", "string"})
。
关于go - 尝试在go中创建可重用的追加到struct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58594297/