Error nil pointer dereference en Go: causas y solución
¡Hola a todos! Soy nuevo en Go y me encontré con un error que me tiene perplejo. Tengo una estructura User, y estoy intentando escribir una función que imprima el nombre del usuario. Aquí está mi código:
```go
package main
import "fmt"
type User struct {
Name string
Age int
}
func printUserName(u *User) {
fmt.Println("User name is:", u.Name)
}
func main() {
var user *User
// Aquí solo declaro el puntero, pero no lo inicializo
printUserName(user)
}
```
Cuando ejecuto este código, obtengo el error: `panic: runtime error: invalid memory address or nil pointer dereference`. Entiendo que esto tiene algo que ver con que el puntero user es nil, pero no comprendo del todo cómo solucionarlo.
En otros lenguajes, como C++ o Java, podría simplemente pasar el objeto por valor, y todo funcionaría. Pero aquí, si paso un puntero, ¿debe apuntar a algo real?
Por favor, explíquenme qué es nil pointer dereference, por qué ocurre esto
No answers yet.
Inicia sesión para dejar una respuesta
Blogs
Los 10 mejores frameworks PHP para desarrollo web en 2025