Cómo crear correctamente constructores en Go si el lenguaje no tiene clases ni constructores
¡Hola a todos! Acabo de empezar a aprender Go después de Python y Java, y me he encontrado con un gran bloqueo. En Go no hay clases en el sentido habitual ni constructores. Entonces, ¿cómo se crean objetos con lógica de inicialización compleja?
Supongamos que quiero crear una estructura `User` con los campos `Name`, `Email` y `Age`. Idealmente, quiero que al crear un usuario se valide el email, que la edad no sea negativa y que el nombre no esté vacío. En Python escribiría `__init__`, en Java un constructor con validaciones. ¿Cómo se hace esto en Go?
Por ahora hago esto:
```go
type User struct {
Name string
Email string
Age int
}
func main() {
u := User{
Name: "Alice",
Email: "alice@example.com",
Age: 30,
}
// ¡Pero aquí no hay validaciones! Se puede crear un User con nombre vacío o edad -5.
fmt.Println(u)
}
```
Entiendo que en Go se puede declarar una estructura y llenar los campos, pero esto no es seguro. Necesito alguna función que garantice
No answers yet.
Inicia sesión para dejar una respuesta
Blogs
Monorepositorio con Swift: organización de código para proyectos iOS y macOS
Monorepositorio con Rust: organización de código en la práctica
Principios SOLID en PHP: guía completa con ejemplos de código
Parseo y scraping de datos en Java: de principiante a tu primer parser