您的位置:首页 > 编程语言 > Go语言

Go语言切片前或中间插入项与内置copy()函数

2017-07-22 00:20 323 查看

内置append()函数能够在切片末尾位置添加新的项,假设要在切片的前面或者中间某位置插入特定项,可以这样实现,看下代码:

package main

import "fmt"

func main() {
s := []string{"M","N","O","P","Q","R"}
x := InsertStringSliceCopy(s,[]string{"a","b","c"},0)
y := InsertStringSliceCopy(s,[]string{"a","b","c"},3)
fmt.Printf("%v\n%v\n",x,y)
}

func InsertStringSliceCopy(slice,insertion []string,index int)[]string  {
result := make([]string,len(slice) + len(insertion))
at := copy(result,slice[:index])
at += copy(result[at:],insertion)
copy(result[at:],slice[index:])
fmt.Printf("%6T\n",at)
return result
}


运行结果:



自定义的InsertStringSliceCopy()函数可以实现在切片相应的位置插入项

此外InsertStringSliceCopy()函数中打印类变量at的类型,可知内置函数copy()在实现复制功能的时候会有一个int的返回值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  go语言 修改切片