Constructor di Go


Secara default, Go sebenarnya tidak menyediakan fitur constructor layaknya bahasa pemrograman yang lain. Namun dengan teknik yang cukup sederhana dan apabila diperlukan. Kita bisa memanfaatkan function sebagai constructor ketika proses instance dilakukan. Dalam artikel ini, saya akan menggunakan struct Person berikut.

type Person struct {
   FirstName string
   LastName  string
   Birthday  time.Time  
}

Constructor Tanpa Arguments

Selanjutnya mari kita buat constructor sederhana(tanpa arguments) untuk struct Person diatas.

func NewPerson() *Person {
  return &Person{}
}

Sehingga pada proses instansiasi, kita tinggal memanggil function tersebut.

person := NewPerson()

Constructor dengan Arguments
Agar bisa menggunakan arguments, kita boleh menambahkan langsung arguments tersebut di function yang akan kita jadikan construct. Kemudian seperti contoh diatas, kita kembalikan hasil instance dari struct People tersebut.

func NewPerson(f, l string, b time.Time) *Person {
   return &Person{
      FirstName: f,
      LastName:  l,
      Birthday:  b, 
   }
}
person := NewPerson(
   "I Made", 
   "Raka",
   time.Date(1992, time.January, 7, 0, 0, 0, 0, time.UTC),
)

Perhatikan

Di dua contoh diatas saya membuat 2 function dengan nama yang sama, di Go kita tidak diizinkan membuat 2 function dengan nama yang sama. Walaupun dengan arguments yang berbeda. Maka dari itu, untuk construct diatas tolong implementasikan salah satu saja. Terimakasih.

Good luck😉

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s