golang range over multiple channels