Go内建函数copy:

func copy(dst, src []Type) int

用于将源slice的数据(第二个参数),复制到目标slice(第一个参数)。

返回值为拷贝了的数据个数,是len(dst)和len(src)中的最小值。

看代码:

package main

import (

"fmt"

)

func main() {

var a = []int{, , , , , , , }

var s = make([]int, )

//源长度为8,目标为6,只会复制前6个

n1 := copy(s, a)

fmt.Println("s - ", s)

fmt.Println("n1 - ", n1)

//源长为7,目标为6,复制索引1到6

n2 := copy(s, a[:])

fmt.Println("s - ", s)

fmt.Println("n2 - ", n2)

//源长为8-5=3,只会复制3个值,目标中的后三个值不会变

n3 := copy(s, a[:])

fmt.Println("s - ", s)

fmt.Println("n3 - ", n3)

//将源中的索引5,6,7复制到目标中的索引3,4,5

n4 := copy(s[:], a[:])

fmt.Println("s - ", s)

fmt.Println("n4 - ", n4)

}

执行结果:

s - [0 1 2 3 4 5]

n1 - 6

s - [1 2 3 4 5 6]

n2 - 6

s - [5 6 7 4 5 6]

n3 - 3

s - [5 6 7 5 6 7]

n4 - 3

Go内建函数copy的更多相关文章

  1. Golang 知识点总结

    Golang 知识点总结 目录 [−] 各种类型复制的时候的花费 可使用内建函数的类型 (len.cap.close.delete.make) 内建容器类型的值比较 组合类型T{...}的值比较 零值 ...

  2. Go 语言基础(一)

    1.GO语言的第一个程序: package main import "fmt" func main() { fmt.Println("hello,world!" ...

  3. go builtin包

    Go builtin包提供了go预先声明的函数.变量等的文档.这些函数变量等的实现其实并不是在builtin包里,只是为了方便文档组织. 这些内置的变量.函数.类型无需引入包即可使用. 默认提供的有: ...

  4. Golang学习 - builtin 包

    Go builtin包提供了go预先声明的函数.变量等的文档.这些函数变量等的实现其实并不是在builtin包里,只是为了方便文档组织. 这些内置的变量.函数.类型无需引入包即可使用. 默认提供的有: ...

  5. Golang - 复合类型

    目录 Golang - 复合类型 1. 指针 2. new()和make() 3. 数组 4. slice 5. Map 6. 结构体 7. 结构体参数 Golang - 复合类型 1. 指针 go语 ...

  6. Go part 4 数据容器(数组,slice,string,map,syncMap,list)

    数组 数组是值类型,因此改变副本的值,不会影响到本身 数组的定义:var 变量名 [元素数量] T 变量名(符合标识符要求即可) 元素数量(整型,可以是const中的值) T(可以是任意基本类型,包括 ...

  7. go入门二

    一.流程控制 1.选择结构 if-else: package main import ( "io/ioutil" "fmt" ) func main(){ co ...

  8. HEC-ResSim原文档

              HEC-ResSim Reservoir System Simulation             User's Manual       Version 3.1 May 201 ...

  9. Python 基础之函数、深浅copy,set及练习

    三元运算符通常在Python里被称为条件表达式,这些表达式基于真(true)/假(not)的条件判断,在Python 2.4以上才有了三元操作. 语法格式: X if C else Y 有了三元表达式 ...

随机推荐

  1. gulp打包工具

    首先安装全局gulp $ npm install --global gulp 下载成功后 新建一个项目或者一个文件夹(做测试) mkdir testgulp 在该文件或者项目下下载gulp工具 $ n ...

  2. mpdf-html转PDF,中文字符乱码、加粗问题

    $defaultConfig = (new ConfigVariables())->getDefaults(); $fontDirs = $defaultConfig['fontDir']; $ ...

  3. HDU 6346 整数规划 (最佳完美匹配)

    整数规划 Time Limit: 5500/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Subm ...

  4. bootstrap-table使用详解

    尴尬,标记果然到了一周之后.... 首先引入文件不必提,引入bootstrap和bootstrap-table <link rel="stylesheet" href=&qu ...

  5. 使用dockerfile,创建gitblit镜像

    1. 快速使用gitblit镜像 1.1 push 镜像 # docker pull /gitblit 1.2 查看下载的镜像 # docker images | grep "gitblit ...

  6. How to enable C development in a Windows 10 development environment VM

    To enable C development in a Windows 10 development environment VM, follow these steps: Start VS in ...

  7. 我们的爬虫从pyspider开始说起(一)

    看各种爬虫文献也有好几天了,总是感觉下不了手,总结一句“提笔忘字,总是因为看的太多而写的太少”.所以从现在开始,把看到的想到的,需要总结的东西慢慢的都沉淀下来,扎扎实实的走好每一步. 先来说这几天遇到 ...

  8. Strusts2

    Strusts2的原理很简单,首先,地址栏输入http://xxxx/xxxx/webapp/xx.action首先,请求会通过httpservlet发送给tomcat容器,tomcat发现这个请求是 ...

  9. Python学习过程中各个难点---函数篇

    对于函数,我一直分不清局部变量与全局变量,今天又好好研究了下,终于搞清楚了. 例子: 其次对于global这个关键字我也是一知半解的状态,之前整个人都是懵懵的,现在搞明白了 匿名函数: 匿名函数使用关 ...

  10. max (Largest elements in array)

    句法: M = max(A) M = max(A,[],dim) [M,I] = max(___) C = max(A,B) ___ = max(___,nanflag)   描述: M=max(A) ...