Skip to content

Instantly share code, notes, and snippets.

@alehano
Created February 3, 2014 15:31
Show Gist options
  • Star 39 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save alehano/8785933 to your computer and use it in GitHub Desktop.
Save alehano/8785933 to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
)
func decorator(f func(s string)) func(s string) {
return func(s string) {
fmt.Println("Started")
f(s)
fmt.Println("Done")
}
}
func doSomething(s string) {
fmt.Println(s)
}
func main() {
decorator(doSomething)("Do something")
}
@andyrees
Copy link

andyrees commented Aug 4, 2015

Fantastic, simple example of decorators in Go, thank you. The only one I have seen that doesn't confuse matters.

@andyxning
Copy link

awesome,it is a pity that Go do not support the @decorator grammar that Python supports right now. :)

@pomkine
Copy link

pomkine commented Jan 13, 2016

Clear and simple. Thanks!

@wuxinwei
Copy link

very simple and very clear,thx!!!

@pyohei
Copy link

pyohei commented Jul 2, 2016

I referred your code! Thanks!

@kirugan
Copy link

kirugan commented Jul 20, 2016

What about method example?

@skippy123
Copy link

I liked it , thanks a lot for an awesome example !

@chenghung
Copy link

chenghung commented Jan 23, 2018

good example. thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment