Go语言中append函数用法分析
本文实例分析了Go语言中append函数用法。分享给大家供大家参考。具体如下:
Go语言中append的功能十分强大,使用它可以使很多功能的实现变得更加简洁。以下为简单对比:
.将一个slice插入到另一个slice的指定位置:
不使用append:
funcinsertSliceAtIndex(slice_origin[]int,slice_to_insert[]int,
insertIndexint)(result[]int,errerror){
ifinsertIndex>len(slice_origin){
returnnil,errors.New("insertIndex不能大于slice_origin的长度")
}
result=make([]int,len(slice_origin)+len(slice_to_insert))
fori:=0;i<len(result);i++{
ifi<insertIndex{//插入点之间
result[i]=slice_origin[i]
}elseifi<insertIndex+len(slice_to_insert){//插入内容
result[i]=slice_to_insert[i-insertIndex]
}else{
result[i]=slice_origin[i-len(slice_to_insert)]
}
}
return
}
使用append时,代码将十分简洁:
d:=[]string{"Welcome","for","Tianjin","Have","a","good","journey"}
insertSlice:=[]string{"It","is","a","big","city"}
insertSliceIndex:=3
d=append(d[:insertSliceIndex],
append(insertSlice,d[insertSliceIndex:]...)...)
fmt.Printf("result:%v\n",d)
希望本文所述对大家的Go语言程序设计有所帮助。