我嘗試在恢復(fù)時在通道中發(fā)送錯誤 為什么這個錯誤沒有發(fā)送到通道?package mainimport ( "fmt" "sync" "errors")func main() { var wg sync.WaitGroup wg.Add(1) batchErrChan := make(chan error) go func(errchan chan error) { defer func() { if r := recover(); r != nil { errchan <- errors.New("recover err") } close(batchErrChan) wg.Done() }() panic("ddd") }(batchErrChan) go func() { for _ = range batchErrChan { fmt.Println("err in range") } }() wg.Wait()}https://play.golang.org/p/0ytunuYDWZU我希望打印“范圍內(nèi)的錯誤”,但事實并非如此。為什么?
Golang:無法在恢復(fù)()中向通道發(fā)送錯誤
慕尼黑5688855
2022-10-10 16:10:06