What shall be special when working with functions? They are part of software development almost since beginning, there’s even the paradigm of functional programming. So what’s special with functions in Go? Simple answer: nothing. But true to the motto of the language the work with functions and their relatives, the methods, is very pragmatic. And so they get parts of elegant solutions. Let’s start with quite simple functions. They can be small, having none, one, more or a variable number of parameters.
It costed some time, but now I’m happy to release v0.1.0 of the Tideland Go Library. Some of you may wonder, because I already had a Go library and once started to break it into individual repositories. But then different discussions happened. The introduction of Go modules. The discussions about mono-repos or multi-repos. Microsoft was buying GitHub with the insight about the dependency of one provider, regardless who it is.
Pretty often you read questions about multiplexing in Go web application on Slack, StackOverflow, or Reddit. Sometimes they think about using libraries like gorilla/mux, which is a powerful software, and its alternatives. Depending on individual requirements and constraints these may make sense, but for many cases the standard library or own little packages based on the standard library are more than enough. I’ll show the idea behind the Go net/http package and how to build own solutions based on it.