Version 1: Go app to query for weather of a city. Used HTTP handler and hosted a server over port 8080.
Version 2: Use multiple APIs to provide more accurate data. Also logs time taken to complete. Used synchronous api calls.
Version 3: Made the api calls concurrent using Go channels and routines.
Version 4: Added another api for accuracy. Due to requirements, had to query multiple apis from within.
Version 5: Implemented a Time out after 1 sec, if any of the sources take more than a second.
Complete tutorial: https://howistart.org/posts/go/1/