Constructor de Golang como funciones

Constructor de Golang como funciones
Go no es un lenguaje de programación orientado a objetos, al menos no en los patrones OOP tradicionales. Presta prestado algunas características y proporciona instancias que se cruzan a OOP. Aunque esto puede ser una migración desalentadora, especialmente para el desarrollador de los idiomas de OOP, lo compensa con su simplicidad.

En este artículo, discutiremos cómo crear un constructor en GO usando funciones nativas.

Constructor como funciones

Definamos una estructura simple como se muestra en el siguiente código:

Escriba la estructura de usuario
Cadena de nombre
Edad int
Flotación salarial64

Desde la estructura, podemos crear una función como el constructor como se muestra en el ejemplo:

FUNC USER_INFO (name String, Age int, salary float64) *usuario
U: = nuevo (usuario)
u.Nombre = nombre
u.Edad = edad
u.Salario = salario
devolverte

Lo anterior creará una función tipo constructor desde el tipo de usuario. Si verificamos el tipo, deberíamos obtener:

fmt.Println (reflejar.TypeOf (user_info ("Jonathan Archer", 45, 140000.33)))
*principal.Usuario

Como ve la forma de crear constructores en GO, es crear funciones que devuelvan un puntero de Oobject.

Una función de ejemplo es como muestra:

func (u *user) init (name string, edad int, salary float64)
u.Nombre = nombre
u.Edad = edad
u.Salario = salario

Podemos usar la función como:

Usuario: = nuevo (usuario)
usuario.Init ("Jonathan Archer", 45, 140000.33)
fmt.Printf (" %s: %d: %f \ n", usuario.Nombre, usuario.Edad, usuario.Salario)

Conclusión

En este artículo, exploramos cómo introducir OOP en Go utilizando estructuras y funciones que devuelven un puntero.