Avatar ·

Constructores en Go: ¿cómo inicializar estructuras correctamente?

¡Hola a todos! Acabo de empezar a aprender Go después de Java y C#, y tengo un malentendido con los constructores. En Java solía escribir algo como: ```java public class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } } ``` En Go veo que no hay palabra clave `class` ni constructores explícitos. Intenté hacer esto: ```go type User struct { name string age int } // Intento 1: simplemente una función con el mismo nombre func User(name string, age int) User { return User{name: name, age: age} } // Error: User redeclared in this block // Intento 2: método de la estructura func (u User) User(name string, age int) User { return User{name: name, age: age} } // Tampoco funciona ``` Estoy en un punto muerto. ¿Cómo inicializar correctamente una estructura con validación de campos? Por ejemplo, quiero que la edad no pueda ser negativa y que el nombre no esté vacío. En Java lo haría