The Go Programming Language Specification states:
A single channel may be used in send statements, receive operations, and calls to the built-in functions cap and len by any number of goroutines without further synchronization.
So, yes, it’s safe.