Passing values to coroutine

In this code snippet from split/merge sample, should chunkID be added to ctx so that it is passed into call to workflow.Go()?

for i := 1; i <= workerCount; i++ {
		chunkID := i
		workflow.Go(ctx, func(ctx workflow.Context) {
			var result ChunkResult
			err := workflow.ExecuteActivity(ctx, ChunkProcessingActivity, chunkID).Get(ctx, &result)
			if err == nil {
				chunkResultChannel.Send(ctx, result)
			} else {
				chunkResultChannel.Send(ctx, err)
			}
		})
	}

I’m not sure I understand the question. It is possible to use context to pass values around. But in this case, the function is a closure. And in Go, it is OK to bound to values that are defined outside of the closure body.

Thank you Maxim