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
No answers yet.
Inicia sesión para dejar una respuesta