Golang 使用分片约束打印byte buffer

package main

import (
    "bytes"
    "fmt"
    "sync"
)

func main() {
    printData := func(wg *sync.WaitGroup, data []byte) {
        defer wg.Done()
        var buffer bytes.Buffer
        for _, b := range data {
            fmt.Fprintf(&buffer, "%c", b)
        }

        fmt.Println(buffer.String())
    }

    var wg sync.WaitGroup
    wg.Add(2)
    data := []byte("Golang")
    go printData(&wg, data[:3])
    go printData(&wg, data[3:])
    wg.Wait()
}

程序输出如下,


image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 4,157评论 0 2
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,390评论 0 10
  • FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1...
    年轻小伙程序员阅读 3,182评论 0 5
  • 本文转自刘明的分享。原文 简介 什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得...
    那样风采阅读 1,756评论 0 1
  • 概述 Awk是一种便于使用且表达能力强的程序设计语言,可应用于各种计算和数据处理任务 举例说明 有用的awk程序往...
    saidev阅读 386评论 0 0

友情链接更多精彩内容