golang之常用方法/函数
1. io.Reader转化为字符串, byte切片
import "bytes" func StreamToByte(stream io.Reader) []byte { buf := new(bytes.Buffer) buf.ReadFrom(stream) return buf.Bytes() } func StreamToString(stream io.Reader) string { buf := new(bytes.Buffer) buf.ReadFrom(stream) return buf.String() }
示例:
1) byte切片转io.Reader
package main
import (
"bytes"
"log"
)
func main() {
data := []byte("this is some data stored as a byte slice in Go Lang!")
// convert byte slice to io.Reader
reader := bytes.NewReader(data)
// read only 4 byte from our io.Reader
buf := make([]byte, 4)
n, err := reader.Read(buf)
if err != nil {
log.Fatal(err)
}
log.Println(string(buf[:n]))
}
2) io.Reader转byte切片
package main
import (
"bytes"
"log"
"strings"
)
func main() {
ioReaderData := strings.NewReader("this is some data stored as a byte slice in Go Lang!")
// creates a bytes.Buffer and read from io.Reader
buf := &bytes.Buffer{}
buf.ReadFrom(ioReaderData)
// retrieve a byte slice from bytes.Buffer
data := buf.Bytes()
// only read the first 4 bytes
log.Println(string(data[:4]))
}

浙公网安备 33010602011771号