In Go 1.22 the ServeMux was updated to be significantly easier to use for building web applications. Supported was added for HTTP methods, variables in URL paths, and more. In this article we discuss how it stacks up to some third party libraries that have existed in the Go ecosystemf or a while.
An incredibly common question I get when helping people learn web development is, "Why can’t I pass this handler function into a function that expects an http.Handler?" It is a logical question. The compiler can automatically convert those functions into the http.HandlerFunc type, so why can't it take the next step and infer that it also implements the Handler interface? Learn why (and more) in this article!
Jon Calhoun is a full stack web developer who teaches about Go, web development, algorithms, and anything programming. If you haven't already, you should totally check out his Go courses.
Previously, Jon worked at several statups including co-founding EasyPost, a shipping API used by several fortune 500 companies. Prior to that Jon worked at Google, competed at world finals in programming competitions, and has been programming since he was a child.
©2024 Jonathan Calhoun. All rights reserved.