Goroutines let you run functions concurrently, and channels let goroutines communicate safely.
goroutine runs a function concurrently using the go keyword.channels are typed pipes for communication between goroutines.ch <- value and receive with value := <-ch.make(chan type) to create a channel.