예:
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 구조체를 가리키는 포인터이지만 CreateUser가 nil을 반환할 수 있기 때문에 nil이 될 수 있습니다. user이 nil인지 확인하지 않고 Name에 액세스하기 위해 user을 역참조하려고 하면 런타임 오류가 발생합니다.