在C#中,Buffer.BlockCopy(Array, Int32, Array, Int32, Int32) 函数使用比较广泛,其含义:

将指定数目的字节从起始于特定偏移量的源数组复制到起始于特定偏移量的目标数组。

参数 src Array 源缓冲区。 srcOffset Int32 src 中的字节偏移量,从零开始。 dst Array 目标缓冲区。 dstOffset Int32 dst 中的字节偏移量,从零开始。 count Int32 要复制的字节数。

go语言中实现如下:

func blockCopy(src []byte, srcOffset int, dst []byte, dstOffset, count int) (bool, error) {srcLen := len(src)if srcOffset > srcLen || count > srcLen || srcOffset+count > srcLen {return false, errors.New("源缓冲区 索引超出范围")}dstLen := len(dst)if dstOffset > dstLen || count > dstLen || dstOffset+count > dstLen {return false, errors.New("目标缓冲区 索引超出范围")}index := 0for i := srcOffset; i < srcOffset+count; i++ {dst[dstOffset+index] = src[srcOffset+index]index++}return true, nil
}

转载于:https://www.cnblogs.com/zsy/p/11144244.html

golang字节数组拷贝BlockCopy函数实现相关推荐

  1. golang用数组作为函数参数

    在 golang,数组是值.作为参数传进函数时,传递的是数组的原始值拷贝,此时在函数内部是无法更新该数组的 package mainimport "fmt"func main() ...

  2. python整数转字节数组_【转】Python内置函数(7)——bytearray

    英文文档: class bytearray([source[, encoding[, errors]]]) Return a new array of bytes. The bytearray cla ...

  3. python bytearray转为byte_Python3 bytearray() 函数详解 将参数转为可变的字节数组

    Python3 bytearray() 函数详解 将参数转为可变的字节数组 bytearray()函数的主要用途是将参数转换为一个新的字节数组,它是一个可变的整数序列,它的取值范围是0 <= x ...

  4. python bytes 改值_Python3 bytes() 函数详解 将参数转为不可变的字节数组

    Python3 bytes() 函数详解 将参数转为不可变的字节数组 bytes()函数的主要用途是将参数转换为一个新的字节数组,它是一个不可变的整数序列,它的取值范围是0 <= x < ...

  5. java字符串数组拷贝函数_java 数组的拷贝 对象数组的拷贝 System.arraycopy函数

    /* java 数组的操作   System类的arraycopy静态函数用于数组拷贝   数组是不能越界的 对象数组的复制实际上是复制的引用的拷贝  也就是对象的地址 */ class Point ...

  6. 【Android RTMP】x264 图像数据编码 ( Camera 图像数据采集 | NV21 图像数据传到 Native 处理 | JNI 传输字节数组 | 局部引用变量处理 | 线程互斥 )

    文章目录 安卓直播推流专栏博客总结 一. NV21 数据传入 Native 层 二. jbyte * 数据类型 ( Java 中的 byte[] 数组传入 JNI 处理方式 ) 三. 局部引用处理 四 ...

  7. Golang的数组、切片、映射的理解

    1.数组         go的数组是值类型,赋值和传参操作都会复制整个数组数据,因此一般使用指针在函数间传递大数组. 如果数组长度不确定,可以使用 ... 代替数组的长度,编译器会根据元素个数自行推 ...

  8. Golang 入门 : 数组

    数组是指一系列同一类型数据的集合.数组中包含的每个数据被称为数组元素(element),这种类型可以是任意的原始类型,比如 int.string 等,也可以是用户自定义的类型.一个数组包含的元素个数被 ...

  9. Golang字符串中常用的函数

    Golang字符串中常用的函数 说明: 字符串在我们程序开发中,使用的是非常多的,常用的函数需要同学们掌握: 下面列出20种常用的字符串函数: 1)统计字符串的长度,按字节len(str) 2)字符串 ...

最新文章

  1. jQuery 2.0.3 源码分析core - 整体架构
  2. python 终端执行命令
  3. 索引中丢失 IN 或 OUT 参数:: 103,解决办法
  4. 服!AI 让兵马俑“活”起来,颜值惊艳!
  5. python【蓝桥杯vip练习题库】ADV-136大数加法(高精度加法)
  6. 谈谈AOP应用层切面设计
  7. Memcache查看运行状况
  8. Bootstrap3 折叠插件的使用方法
  9. 浙大 PAT a1058
  10. MIMO-OTFS in High-Doppler Fading Channels:Signal Detection and Channel Estimation(5)
  11. linux系统下载r软件安装,Linux安装R语言包
  12. 成为一名初级游戏策划
  13. 元学习算法MAML论文详解
  14. idea中的maven项目的xml文件的xmlns报错的解决办法
  15. spider_爬取斗图啦所有表情包(图片保存)
  16. 3D游戏角色动画——Elaina(全流程人物建模)
  17. 微型计算机的基本组成及各个部分的作用
  18. sap 寄售业务流程
  19. 魔百盒 修改时间服务器,魔百盒网关服务器下发超时
  20. 一起来设计“塔防游戏”吧

热门文章

  1. c语言链表输出header中的乱码,大家帮忙看看这段代码,最后一个链表输出后总带一些乱码?请教...
  2. QT程序启动画面问题
  3. java如何声明一个数组用来存储随机生成的字母并且保证不重复
  4. HTML元素和标签的区别
  5. 二、Spring MVC之常用注解
  6. 基于Windows8与Visual Studio2012开发内核隐藏注册表
  7. 为WebBrowser的WEB页的Document注册事件的问题
  8. c++ msflexgrid 使用_丝杠支座组件C
  9. easyexcel 日期类型 convert_[Oracle 专题] SQL 日期、数字、字符串,运算、转换
  10. 分布式选举协议:Bully