gpt4 book ai didi

go - 尝试在go中创建可重用的追加到struct

转载 作者:行者123 更新时间:2023-12-01 22:43:33 25 4
gpt4 key购买 nike

我正在尝试使可重用的方法/ 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com