Function sebagai Parameter

Function bisa digunakan sebagai parameter untuk function yang lain.

Contoh code 1

package main

import (
	"fmt"
)

// type declaration
type Filter func(name string) string

// function as parameter
func sayHelloWithFilter(name string, filter Filter) {
	nameFiltered := filter(name)
	fmt.Println("Hello", nameFiltered)
}

func spamFilter(name string) string {
	if name == "Kucing" {
		return ""
	} else {
		return name
	}
}
	
func main() {
	filter := spamFilter
	sayHelloWithFilter("Alan", filter)
	sayHelloWithFilter("Hana", filter)
}

Contoh code 2

Last updated