go-concurrency attempt-on-learning : go and concurrency target: what is goroutine? how does channel works? mutex, waitgroup-- how do you use sync package?