http://tour.golang.org  exercise solutions