package main
import (
"fmt"
"mime/multipart"
"bytes"
)
var channel chan string = make(chan string)
func recognize(file_path string) {
body_buf := &bytes.Buffer{}
fmt.Println(body_buf)
send_writer := multipart.NewWriter(body_buf)
fmt.Println(send_writer)
}
func loop() {
for i := 0; i < 10; i++ {
channel <- "dd"
}
}
func main() {
go loop()
for v := range channel {
fmt.Println(len(channel), v)
}
}
программа не остановится, даже если я не вызываю функцию recognize
, я не знаю почему, как это объяснить
когда я удаляю
send_writer := multipart.NewWriter(body_buf)
программа остановится и получит фатальную ошибку: deadlock
в чем разница, кто может сказать мне