go的stream

go的stream

复制代码
// MyBuffer project main.go
package main
 
import (
    "bytes"
    "fmt"
    "os"
)
 
func main() {
    buf1 := bytes.NewBuffer([]byte{'H', 'E', 'L', 'L', 'O'})
    buf2 := bytes.NewBuffer([]byte("hello"))
    buf3 := bytes.NewBufferString("world!")
 
    fmt.Println(buf1.String())
    fmt.Println(buf2.String())
    fmt.Println(buf3.String())
 
    s := []byte("WORLD!")
    n, err := buf1.Write(s)
    if err == nil {
        fmt.Println("n = ", n)
        fmt.Println("buf1 = ", buf1.String())
    } else {
        fmt.Println(err.Error())
    }
 
    n, err = buf3.WriteString(" plleh")
    if err == nil {
        fmt.Println("n = ", n)
        fmt.Println("buf3 = ", buf3.String())
    }
 
    var t byte = '?'
    err = buf2.WriteByte(t)
    if err == nil {
        fmt.Println("buf2 = ", buf2.String())
    } else {
        fmt.Println("err = ", err.Error())
    }
 
    r := []rune("中国人")
    n, err = buf2.WriteRune(r[0])
    if err == nil {
        fmt.Println("buf2 = ", buf2.String())
        fmt.Println("buf2.len = ", buf2.Len())
    } else {
        fmt.Println("err = ", err.Error())
    }
 
    file, _ := os.Create("out.txt")
    defer file.Close()
 
    buf2.WriteTo(file)
 
    buf1.WriteTo(os.Stdout)
    buf3.WriteTo(os.Stderr)
}
复制代码

 

posted @   delphi中间件  阅读(92)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2019-04-01 咏南中间件JSON序列类
2018-04-01 咏南中间件支持即时通讯
2015-04-01 创建一个EMS 扩展包
2015-04-01 ems server
2015-04-01 redis缓存数据表
点击右上角即可分享
微信分享提示