Construtor de Golang como funções

Construtor de Golang como funções
GO não é uma linguagem de programação orientada a orientação, pelo menos não nos padrões tradicionais de OOP. Ele empresta alguns recursos e fornece instâncias que vêm cruzando para o OOP. Embora isso possa ser uma migração assustadora, especialmente para o desenvolvedor das línguas OOP, compensa isso com sua simplicidade.

Neste artigo, discutiremos como criar um construtor no Go usando funções nativas.

Construtor como funções

Vamos definir uma estrutura simples, como mostrado no código abaixo:

Tipo de estrutura de usuário
String de nome
Idade int
Salário Float64

Na estrutura, podemos criar uma função como o construtor, como mostrado no exemplo:

func user_info (string de nome, idade int, salário float64) *usuário
u: = novo (usuário)
você.Nome = nome
você.Idade = idade
você.Salário = salário
devolver u

O exposto acima criará uma função do tipo construtor do tipo de usuário. Se verificarmos o tipo, devemos obter:

fmt.Println (reflita.Typeof (user_info ("Jonathan Archer", 45, 140000.33)))
*principal.Do utilizador

Como você vê a maneira de criar construtores em Go é criar funções que retornam um ponteiro de ooBject.

Uma função de exemplo é como mostrar:

func (u *usuário) init (string de nome, idade int, salário float64)
você.Nome = nome
você.Idade = idade
você.Salário = salário

Podemos usar a função como:

Usuário: = novo (usuário)
do utilizador.Init ("Jonathan Archer", 45, 140000.33)
fmt.Printf (" %s: %d: %f \ n", usuário.Nome, usuário.Idade, usuário.Salário)

Conclusão

Neste artigo, exploramos como introduzir OOP em Go usando estruturas e funções que retornam um ponteiro.