What is the meaning of start a goroutine which is also a goroutine : https://github.com/fhmq/hmq/blob/master/pool/fixpool.go . here are the codes, I do not understand why the function startWorker is written like the following.
```go
func startWorker(taskChan chan func()) {
	go func() {
		var task func()
		var ok bool
		for {
			task, ok = <-taskChan
			if !ok {
				break
			}
			// Execute the task.
			task()
		}
	}()
}
```
If I were the developer, I will write this function like this:
```Go
func startWorker(taskChan chan func()) {
    var task func()
    var ok bool
    for {
      task, ok = <-taskChan
     if !ok {
	return
			}
			// Execute the task.
			task()
		}
	}()
}
```