Golang – Method

Method adalah fungsi yang hanya dapat dipanggil dari/oleh instance sebuah type. Method hampir sama dengan fungsi hanya saja ditambahkan recievernya yaitu sebuah type. Type disini bisa berupa apa saja. Perhatikan contoh berikut.

Fungsi Luas diatas adalah method. Method dari struct Persegi, dan hanya instance persegi yang dapat memanggilnya. Method Luas diatas memiliki sedikit perbedaan dengan fungsi biasa yaitu adanya receiver yaitu (p Persegi) setelah func. Jadi saat kita memanggil method tersebut pada line 15 (per.Luas()) bahwasanya variable per akan di lempar sebagai reciever, dalam hal ini akan di kopi ke variable p (karena pass by value). Selain pass by value, reciever juga dapat dibuat pass by reference seperti halnya parameter pada fungsi.

Kode diatas memiliki keluaran yang sama seperti halnya kode sebelumnya, hanya bedanya pada method Luas adalah pass by reference untuk recievernya. Dan untuk pemanggilannya pada line 15, tidak ada bedanya dengan kode sebelumnya, karena Golang sudah melakukan deference dan reference secara otomatis (walaupun method adalah pointer, namun pemanggil tidak perlu pointer)

Golang tutorial index

Leave a Reply

Your email address will not be published. Required fields are marked *