首页 > 其他分享 >Go - io.Reader.Read

Go - io.Reader.Read

时间:2024-03-02 10:44:19浏览次数:21  
标签:err Read fmt cap len io Printf Go 0xc00001a240

 

func main() {
    readToSlice(strings.NewReader("abcdefghijklmn"))
    fmt.Printf("\n--------------------------------------\n\n")
    readToSubSlice(strings.NewReader("abcdefghijklmn"))
}

func readToSlice(r io.Reader) {
    b := make([]byte, 0, 20)

    fmt.Printf("%p, %v\n", b, b)
    fmt.Printf("%p, %v\n", b[len(b):cap(b)], b[len(b):cap(b)])
    fmt.Printf("\n")

    n, err := r.Read(b)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Printf("%p, %v\n", b, b)
    fmt.Printf("%p, %v\n", b[len(b):cap(b)], b[len(b):cap(b)])
    fmt.Println(n)
    fmt.Printf("\n")

    b = b[:len(b)+n]
    fmt.Printf("%p, %v\n", b, b)
}

func readToSubSlice(r io.Reader) {
    b := make([]byte, 0, 20)

    fmt.Printf("%p, %v\n", b, b)
    fmt.Printf("%p, %v\n", b[len(b):cap(b)], b[len(b):cap(b)])
    fmt.Printf("\n")

    n, err := r.Read(b[len(b):cap(b)])
    if err != nil {
        fmt.Println(err)
    }
    fmt.Printf("%p, %v\n", b, b)
    fmt.Printf("%p, %v\n", b[len(b):cap(b)], b[len(b):cap(b)])
    fmt.Println(n)
    fmt.Printf("\n")

    b = b[:len(b)+n]
    fmt.Printf("%p, %v\n", b, b)
}

 

zzh@ZZHPC:/zdata/Github/ztest$ go run main.go
0xc00001a240, []
0xc00001a240, [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]

0xc00001a240, []
0xc00001a240, [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
0

0xc00001a240, []

--------------------------------------

0xc00001a258, []
0xc00001a258, [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]

0xc00001a258, []
0xc00001a258, [97 98 99 100 101 102 103 104 105 106 107 108 109 110 0 0 0 0 0 0]
14

0xc00001a258, [97 98 99 100 101 102 103 104 105 106 107 108 109 110]

 

 

标签:err,Read,fmt,cap,len,io,Printf,Go,0xc00001a240
From: https://www.cnblogs.com/zhangzhihui/p/18048375

相关文章

  • dremio jobprofile查询简单说明
    dremio提供了方便的jobprofile能力,可以进行共享以及分析dremio查询的性能问题,以下是关于jobprofile下载功能的简单说明下载处理SupportResource.java@POST@Path("download")@Consumes(MediaType.APPLICATION_JSON)publicResponsedownloadData(......
  • 直播系统源代码,iOS端截屏时隐藏内容
    直播系统源代码,iOS禁止截屏,手机截屏时隐藏内容,或自定义截屏后的内容。核心是利用UITextField的secureTextEntry属性隐藏内容,注意该功能仅iOS13.2及以上支持。UITextField在开启密码模式后,在截屏录屏时隐藏一个子视图。注:模拟器左上角的截图不支持UITextField的密码隐藏。如果要......
  • 感觉不错 Feel Good 和 长方形(单调栈的应用)
    感觉不错FeelGood和长方形(单调栈的应用)题目描述给出正整数\(n\)和一个长度为\(n\)的数列\(a\),要求找出一个子区间\([l,r]\),使这个子区间的数字和乘上子区间中的最小值最大。形式化的,要求找出\([l,r]\)使得:\[\left(\sum\limits_{i=l}^{r}a_i\right)\times\min\lim......
  • 李宏毅2022机器学习HW4 Speaker Identification上(Dataset &Self-Attention)
    Homework4Dataset介绍及处理Datasetintroduction训练数据集metadata.json包括speakers和n_mels,前者表示每个speaker所包含的多条语音信息(每条信息有一个路径feature_path和改条信息的长度mel_len或理解为frame数即可),后者表示滤波器数量,简单理解为特征数即可,由此可知每个.pt......
  • C. RationalLee
    https://codeforces.com/problemset/problem/1369/CThisisahardproblemoncodeforeswithadiffcuiltyscoreof1400Itcanalsobesolvedbyusingthepricipleofgreediness.voidsolve(){intn,k;cin>>n>>k;vector<int&g......
  • 【李宏毅机器学习2021】(四)Self-attention
    引入Self-attention前面学到的内容输入都是一个向量,假如输入是一排向量,又应如何处理。来看下有什么例子需要将一排向量输入模型:当输入是一排向量时,输出有三种类型:输入和输出的长度一样,每一个向量对应一个label,如词性标注、音标识别、节点特性(如会不会买某件商品)。一......
  • Redis Docekr WARNING Memory overcommit must be enabled! Without it, a background
    Docker容器ssr-redis|1:C01Mar202422:00:46.869#oO0OoO0OoO0OoRedisisstartingoO0OoO0OoO0Oossr-redis|1:C01Mar202422:00:46.869#Redisversion=7.0.10,bits=64,commit=00000000,modified=0,pid=1,juststartedssr-redis|1:C01Mar......
  • make_classification函数
     sklearn.datasets.make_classificationsklearn.datasets.make_classification(n_samples=100,n_features=20,*,n_informative=2,n_redundant=2,n_repeated=0,n_classes=2,n_clusters_per_class=2,weights=None,flip_y=0.01,class_sep=1.0,hypercube=True,shif......
  • Spectrum M2p.75xx 32通道,125MS/s采样率 数字IO卡
    产品简介:M2p.75xx-x4-快速数字波形采集/发生卡概述M2p.75xx系列快速数字I/O卡允许以高达125MS/s的可编程速度来获取或重放数字模式。方向可以通过软件在输入(数字数据采集)和输出(数字模式生成)之间进行切换。1GB板载存储器可以完全用于数字模式。此外,板载存储器可以切换为FIFO缓......
  • Codeforces 839E Mother of Dragons
    令\(s_u\)为点\(u\)分配到的权值。结论:最后选出来有权值的肯定是一个最大团。考虑反证,如果\(x,y\)间没有连边,则\(x,y\)的贡献是独立的,若\(\sum\limits_{(u,x)\inE}s_u\ge\sum\limits_{(v,y)\inE}s_v\),那么就可以把\(s_y\)给\(s_x\),否则把\(s_x\)给\(s_......