Funkcje konstruktora Golanga

Funkcje konstruktora Golanga
GO nie jest operowanym językiem programowania, przynajmniej nie w tradycyjnych wzorach OOP. Pożycza niektóre funkcje i zapewnia przypadki, które są przełajowe do OOP. Chociaż może to być zniechęcająca migracja, szczególnie dla programistów z języków OOP, rekompensuje to swoją prostotą.

W tym artykule omówimy, jak utworzyć konstruktor w Go za pomocą funkcji natywnych.

Konstruktor podobny do funkcji

Zdefiniujmy prostą strukturę, jak pokazano w poniższym kodzie:

Wpisz Struktura użytkownika
Nazwa ciąg
Wiek int
Wynagrodzenie Float64

Z struktury możemy utworzyć funkcję taką jak konstruktor, jak pokazano w przykładzie:

func user_info (Nazwa String, Age Int, wynagrodzenie float64) *User
u: = nowy (użytkownik)
u.Nazwa = nazwa
u.Wiek = wiek
u.Wynagrodzenie = wynagrodzenie
Zwróć u

Powyższe utworzy funkcję podobną do konstruktora z typu użytkownika. Jeśli sprawdzimy typ, powinniśmy uzyskać:

fmt.Println (refleksja.TypeOF (user_info („Jonathan Archer”, 45, 140000.33)))
*główny.Użytkownik

Jak widzisz, sposób tworzenia konstruktorów w Go jest tworzenie funkcji, które zwracają wskaźnik OOBECT.

Przykładową funkcją jest pokaz:

func (U *użytkownik) init (nazwa ciąg, wiek int, pensja float64)
u.Nazwa = nazwa
u.Wiek = wiek
u.Wynagrodzenie = wynagrodzenie

Możemy użyć tej funkcji jako:

Użytkownik: = nowy (użytkownik)
użytkownik.Init („Jonathan Archer”, 45, 140000.33)
fmt.Printf („ %s: %d: %f \ n”, użytkownik.Nazwa, użytkownik.Wiek, użytkownik.Wynagrodzenie)

Wniosek

W tym artykule zbadaliśmy, jak wprowadzić OOP w Go za pomocą struktur i funkcji, które zwracają wskaźnik.