diff --git a/decorator.go b/decorator.go new file mode 100644 index 0000000..4c4e846 --- /dev/null +++ b/decorator.go @@ -0,0 +1,24 @@ +package main + +import ( + "fmt" + "log" +) + +func LogDecorate(fn func(s string)) func(s string) { + return func(s string) { + log.Println("Starting the execution with the argument", s) + fn(s) + log.Println("Execution is completed.") + } +} + +func Function(s string) { + fmt.Println(s) +} + +func main() { + f := LogDecorate(Function) + + f("Hello Decorator") +}