Perbedaan Function dengan Method di Golang

Perbedaan antara function dengan method di golang

Prima adi

2 minute read

Pengenalan

Selama kita kuliah (yang seumuran saya) pasti sering sekali menyebut method dan function. saya sendiri dahulu sering sekali bingung apa sih sebenernya perbedaan antara method dengan function. Sekarang kita akan membahas konsep method dan function pada golang

Gambaran umum :

method dan function adalah block code yang dipanggil berdasatkan nama.

function

function adalah block code yang dipanggil berdasarkan nama dan berdiri sendiri. function dapat di berikan data untuk di olah (misalnya parameter). Function bisa mengembalikan nilai tertentu (return value) atau tidak (optional).

contoh function dalam golang

package main

import (
    "fmt"
)

func main(){
    a := ThisIsFunction(2)
    fmt.Println(a)
}

func ThisIsFunction(a int) int {
    a += 5
    return a
}

contoh di atas menunjukan ThisIsFunction adalah sebuah function yang dapat di panggil siapa saja yang mengembalikan data setelah parameter di tambah 5.

method

method adalah block code yang dipanggil berdasarkan nama dan berkaitan dengan sebuah objek. method dapat di berikan data untuk di olah (misalnya parameter). method bisa mengembalikan nilai tertentu (return value) atau tidak (optional). method sebenarnya idedtik dengan function hanya saja ada dua perbedaan ini.

  • method dipanggil dari object yang ada

contoh method dalam golang

package main

import (
    "fmt"
)

type User struct {
    Name string
}

func main(){
    u := User{}
    fmt.Printf("before : %+v \n", u)
    u.setName("jon")
    fmt.Printf("after : %+v \n", u)
}

func (u *User)setName(name string) {
    u.Name = name
}

contoh di atas menunjukan setName bisa disebut sebuah method yang hanya dapat di panggil oleh variabel dengan type User, setName tidak dapat di panggil langsung karena sejatinya dia terikat kepada User.

method dan function hanyalah sebuah nama hanya perlu di pahami bahwa method ber asosiasi dengan object.

function yang di panggil harus berasosiasi dengan object dapat di sebut method.

terimakasih

semoga bermanfaat

comments powered by Disqus