Functional Design in Go / Boaz Shuster

Functional Design in Go / Boaz Shuster

I got interested in Functional Design after one year of programing in Go. It showed me a new way of writing code.
In this talk I would like to show how using Functions can create a declarative, composable and testable code without much of an effort.

Before I programmed in Go I wrote a lot Python code and was used to the OOP world. You can realize how overwhelmed I was when I joined to a new team programming in Go which later turned to be interesting and satisfying.
I had to get use to the idea of composition (vs. inheritance), high-order-functions and writing a declarative code.
In this session I would like to demonstrate those patterns: 1. What are closures and how we can use them to our benefit 2. How using interfaces and functions make the code more testable and composable 3. Channels and declarative code using functions


GopherCon Israel

February 11, 2019


  1. Functional Design in Go GopherCon Israel 2019

  2. None
  3. None
  4. None
  5. None
  6. None
  7. None
  8. None
  9. None
  10. None
  11. None
  12. None
  13. None
  14. None
  15. None
  16. None
  17. None
  18. None
  19. None
  20. None
  21. None
  22. None
  23. None
  24. None
  25. None
  26. None
  27. None
  28. None
  29. None
  30. “A language that doesn't affect the way you think about

    programming, is not worth knowing” - Alan Perlis
  31. References • Embrace the interface by Tomas Senart • Do

    not fear first class functions by Dave Cheney • Functional options for friendly API by Dave Cheney
  32. Thank you !