gpt4 book ai didi

go - 造成这种 panic 的原因是什么?

转载 作者:IT王子 更新时间:2023-10-29 02:25:37 27 4
gpt4 key购买 nike

我是 Go 的新手,有人可以帮助我诊断这个问题吗。

type ValidationStatus struct {
Passed bool
Errors map[string]*ValidationError
}

// ...

status := ValidationStatus{Passed: true}

// ...

status.Passed = false
fmt.Println(reflect.TypeOf(typeField.Name)) // string
fmt.Println(reflect.TypeOf(validationError)) // *validation.ValidationError
status.Errors[typeField.Name] = validationError // Panic triggered here.

validationError 在验证包中定义。此代码与结构位于同一文件中。

这是我第一次遇到这样的问题,我想我可能没有正确使用 map ,但后来我不明白为什么这不会导致编译错误,所以可能是类型问题?任何解决此问题的建议都将不胜感激。

最佳答案

你没有告诉我们错误信息是什么!

Map types

A new, empty map value is made using the built-in function make, which takes the map type and an optional capacity hint as arguments:

make(map[string]int)
make(map[string]int, 100)

例如,

status := ValidationStatus{Passed: true, Errors: make(map[string]*ValidationError)}

关于go - 造成这种 panic 的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29067168/

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