當在結構中打印錯誤類型字段的 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 關注
- 161 瀏覽
添加回答
舉報
0/150
提交
取消