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. DAO和service的解释

    转自:http://blog.sina.com.cn/s/blog_4b1452dd0102wvox.html 我们都知道有了Hibernate后,单独对数据的POJO封装以及XML文件要耗损掉一个类 ...

  2. bootstrap-datepicker简单使用

    粗略整理,可能存在其他的方式请大家多多指教 选择年份 html <div class="dropdown"> <label class="search- ...

  3. Notes : <Hands-on ML with Sklearn & TF> Chapter 3

    Chapter 3-Classification .caret, .dropup > .btn > .caret { border-top-color: #000 !important; ...

  4. python列表和字符串的三种逆序遍历方式

    python列表和字符串的三种逆序遍历方式 列表的逆序遍历 a = [1,3,6,8,9] print("通过下标逆序遍历1:") for i in a[::-1]: print( ...

  5. [转载]ECMall模板解析语法与机制

    ECMall模板解析语法与机制 2011-05-22 在ECMall模板中,用"{"开头,以"}"结尾就构成一个标签单元,"{"紧接着的单词 ...

  6. XSS攻击 CSRF攻击

    XSS攻击: 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆, 故将跨站脚本攻击缩写为XSS.恶意攻击者 ...

  7. Charles配置抓取HTTPS请求的Android配置

    关于android手机在mac版charles上抓不到包这个问题困扰了很久,查阅了很多资料,发现是android7.0系统安全策略问题. Charles抓包正常流程1.在手机上配置证书 点击后:直接在 ...

  8. JavaScript自定义鼠标右键菜单

    下面为JavaScript代码 window.onload = function () { //好友列表 var f = 0; //判断指定id的元素在页面中是否存在 if (document.get ...

  9. c# 使用资源文件

    1.新建项目 2.新建资源文件 3. 代码中使用嵌入资源 using System;using System.Collections.Generic;using System.Text;using S ...

  10. 《http权威指南》读书笔记18

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...