想写一个函数,实现memcpy的功能,能把切片或数组中的数据拷贝到切片和数组中,研究了好久,中间纠结于数组的type无法具体表示,为此还研究了下reflect,最终发现满足需求实际很简单。直接上源码
package main
import (
"fmt"
)
func memcpy(dst, src []byte, size int) {
for i := 0; i < size; i++ {
dst[i] = src[i]
}
return
}
func main() {
a1 := [10]byte{1, 2, 3, 4, 5, 6, 7, 8}
fmt.Println(a1)
s1 := []byte{10, 9, 8, 7}
memcpy(a1[:], s1, len(s1))
fmt.Println(a1)
return
}