示例:
package a
func CreateUser(name string) *User {
if isValid(name) {
return &User{Name: name}
}
return nil
}
package main
func main() {
user := CreateUser("NilDereference")
print(user.Name) // 潜在的 nil 解引用
}
在提供的示例中,user 是指向 User 结构体的指针,但它可能为 nil,因为 CreateUser 可能会返回nil。 尝试解引用 user 以访问 Name 而不检查 user 是否为 nil 会导致运行时错误。