strings包中提供了两个内存字符串的对象
package main
func main(){
// strings,bytes
// 内存字符串的操作
// 读,写
// strings.Reader
reader:=strings.NewReader("123123")
ctx:=make([]byte,5)
n,err:=reader.Read(ctx)
fmt.Println(n,err,string(ctx[:n]))
reader.Seek(0,0) //光标位移
reader.Reset("xyz") //重置字符串
reader.WriteTo(os.Stdout) //写到输出
// strings.Builder
var builder strings.Builder
builder.Write([]byte("Abc123")) // 写一个字节切片
builder.WriteString("xyz") //写一个字符串
}
bytes包中提供了 Reader,Buffer两个对象,bytes主要针对内存切片处理
func main(){
// Reader对象
byteReader:=bytes.NewReader([]byte("abc123abc"))
ctx:=make([]byte,5)
n,err:=byteReader.Read(ctx)
fmt.Println(bytereader.Len(),byteReader.Size())
//Buffer对象,可读可写,用处较多
buffer:=bytes.NewBufferString("abc")
buffer.WriteString("123")
n,err:=buffer.Read(ctx)
fmt.Println(err,string(ctx[:n]))
fmt.Println(buffer.String()) //相当于读
}
文档更新时间: 2021-09-24 17:39 作者:张尚