go: use c++ style of splitting work amongst goroutines