如果你想在不使用包的情况下将字符串写入Writer
Go 中的任何(包括http.ResponseWriter
)fmt
,你可以使用bytes
包来读取字符串并将它们写入Writer
.
下面的代码使用和字符串创建一个Buffer
,然后将它们写入使用函数。key
value
bytes.NewBufferString
http.ResponseWriter
WriteTo
package main
import (
"bytes"
"log"
"net/http"
)
func main() {
kv := map[string]string{"key1": "val1", "key2": "val2", "key3": "val3", "key4": "val4", "key5": "val5"}
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
for key, value := range kv {
kvw := bytes.NewBufferString(key + ":" + value + "\n")
if _, err := kvw.WriteTo(w); err != nil {
log.Fatal("Error: ", err)
}
}
})
if err := http.ListenAndServe("localhost:8080", nil); err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
将输出:
key1:val1
key2:val2
key3:val3
key4:val4
key5:val5
希望这接近你所追求的。
编辑:您还可以使用包中的strings.Reader
类型和相应的WriteTo
功能strings
。