Cómo verificar si una estructura está vacía en Go? (estructura vacía, comparación con nil)
¡Hola a todos! Acabo de empezar a aprender Go y me encontré con este problema. Tengo una estructura que se devuelve desde una función. A veces está vacía (todos los campos son valores cero) y a veces está llena. Necesito verificar si está vacía para no procesarla.
En otros lenguajes estoy acostumbrado a verificar con `null` o `None`. En Go probé comparar con `nil`:
```go
type User struct {
Name string
Age int
}
func getUser() User {
// ... alguna lógica
return User{}
}
u := getUser()
if u == nil {
fmt.Println("vacío")
}
```
Pero el compilador se queja: `cannot convert nil to type User`. Entendí que las estructuras no son punteros, y `nil` no es aplicable a ellas. Entonces probé comparar con una estructura vacía:
```go
if u == User{} {
fmt.Println("vacío")
}
```
Pero esto tampoco funciona si la estructura tiene campos que son slices o maps, porque no se pueden comparar con `==`. ¿Cómo se verifica correcta e idiomáticamente si una estructura está vacía en Go? Quizás hay
No answers yet.
Inicia sesión para dejar una respuesta
Blogs
Principales errores de los desarrolladores principiantes de Kotlin y cómo evitarlos