Costruttore di golang come funzioni

Costruttore di golang come funzioni
GO non è un linguaggio di programmazione orientato all'obiettivo, almeno non nei tradizionali modelli OOP. Prende in prestito alcune funzionalità e fornisce istanze che si incrociano su OOP. Sebbene questa possa essere una migrazione scoraggiante, specialmente per gli sviluppatori delle lingue OOP, lo compensa con la sua semplicità.

In questo articolo, discuteremo di come creare un costruttore in Go utilizzando funzioni native.

Funzioni simili al costruttore

Definiamo una struttura semplice come mostrato nel codice seguente:

Digita utente struct
Nome String
Età int
Stipendio Float64

Dalla struttura, possiamo creare una funzione come il costruttore come mostrato nell'esempio:

func user_info (name string, età int, salario float64) *utente
U: = new (utente)
u.Nome = nome
u.Età = età
u.Stipendio = stipendio
restituire u

Quanto sopra creerà una funzione simile al costruttore dal tipo di utente. Se controlliamo il tipo, dovremmo ottenere:

fmt.Println (riflette.Typeof (user_info ("Jonathan Archer", 45, 140000.33)))
*principale.Utente

Come vedi la strada per creare costruttori in GO è creare funzioni che restituiscono un puntatore Oobject.

Una funzione di esempio è come spettacolo:

func (u *user) init (name string, età int, salario float64)
u.Nome = nome
u.Età = età
u.Stipendio = stipendio

Possiamo usare la funzione come:

Utente: = new (utente)
utente.Init ("Jonathan Archer", 45, 140000.33)
fmt.Printf (" %s: %d: %f \ n", utente.Nome, utente.Età, utente.Stipendio)

Conclusione

In questo articolo, abbiamo esplorato come introdurre OOP in GO usando strutture e funzioni che restituiscono un puntatore.