当在结构中打印错误类型字段的 nil 值时,以下代码会出现 panic。为什么?package mainimport ( "fmt")type ta struct { int}type tb struct { int *ta}type tc struct { int error}type td struct { int error interface{}}func main() { fmt.Println(fmt.Sprintf("%v", ta{1})) fmt.Println(fmt.Sprintf("%v", tb{1, nil})) fmt.Println(fmt.Sprintf("%v", tc{1, nil})) fmt.Println(fmt.Sprintf("%v", td{1, nil}))}▸ go run main.go{1}{1 <nil>}%!v(PANIC=runtime error: invalid memory address or nil pointer dereference){1 <nil>}https://play.golang.org/p/SrzUsJ3pyRC跟进问题:如果我有这样一个值tc{1, nil},如何在不引起恐慌的情况下打印它?
- 2 回答
- 0 关注
- 117 浏览
添加回答
举报
0/150
提交
取消