這可能非常簡單,但到目前為止,谷歌搜索還沒有找到答案。近 100% 的代碼來自此處的文檔: https ://golang.org/pkg/mime/multipart/#example_NewReader問題是我無法在for循環(huán)后打印任何內(nèi)容,我嘗試關(guān)閉任何需要關(guān)閉的內(nèi)容(請(qǐng)參閱注釋代碼)但無法弄清楚那是什么。 package main import ( "fmt" "io" "io/ioutil" "log" "mime" "mime/multipart" "net/mail" "strings")func main() { msg := &mail.Message{ Header: map[string][]string{ "Content-Type": {"multipart/mixed; boundary=foo"}, }, Body: strings.NewReader( "--foo\r\nFoo: one\r\n\r\nA section\r\n" + "--foo\r\nFoo: two\r\n\r\nAnd another\r\n" + "--foo--\r\n"), } mediaType, params, err := mime.ParseMediaType(msg.Header.Get("Content-Type")) if err != nil { log.Fatal(err) } if strings.HasPrefix(mediaType, "multipart/") { mr := multipart.NewReader(msg.Body, params["boundary"]) for { p, err := mr.NextPart() if err == io.EOF { return } if err != nil { log.Fatal(err) } slurp, err := ioutil.ReadAll(p) if err != nil { log.Fatal(err) } fmt.Printf("Part %q: %q\n", p.Header.Get("Foo"), slurp) // p.Close() } // mr.Close() // mr.Interface().(io.Closer).Close() // ioutil.NopCloser(mr) } // This does not print fmt.Printf("Test: %s\n", "asdfasdf") fmt.Println("Test")}我錯(cuò)過了什么?我將如何解決追蹤我丟失的問題的問題?
1 回答

手掌心
TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
您目前沒有辦法for
不返回就退出,這將使您也退出該功能??雌饋砟阆敫淖?/p>
if err == io.EOF { return }
到
if err == io.EOF { break }
- 1 回答
- 0 關(guān)注
- 154 瀏覽
添加回答
舉報(bào)
0/150
提交
取消