(io.StringWriter).WriteString
for writing strings GO-P40081254 Context("when hit limit", func() {
1255 BeforeEach(func() {
1256 limitReader = volume.NewLimitedReader(6, buffer)
1257 n, err := buffer.Write([]byte("1234567890"))1258 Expect(err).ToNot(HaveOccurred())
1259 Expect(n).To(Equal(10))
1260 })
1242 Context("when not hit limit", func() {
1243 BeforeEach(func() {
1244 limitReader = volume.NewLimitedReader(100, buffer)
1245 n, err := buffer.Write([]byte("1234567890"))1246 Expect(err).ToNot(HaveOccurred())
1247 Expect(n).To(Equal(10))
1248 })
342 Context("when the tar stream is invalid", func() {
343 BeforeEach(func() {
344 tgzBuffer = new(bytes.Buffer)
345 tgzBuffer.Write([]byte("This is an invalid tar file!")) 346 })
347
348 Context("when using gzip encoding", func() {
It is recommended to use (io.StringWriter).WriteString
instead of
(io.StringWriter).Write
or io.WriteString
for writing strings as it decreases
the number of allocations required, therefore improving performance.
package main
import (
"io"
)
func foo(w io.StringWriter) {
w.Write([]byte("foo"))
io.WriteString(w, "bar")
}
package main
import (
"io"
)
func foo(w io.StringWriter) {
w.WriteString("foo")
w.WriteString("bar")
}