本文实例分析了Go语言中append函数用法。分享给大家供大家参考。具体如下:
Go语言中append的功能十分强大,使用它可以使很多功能的实现变得更加简洁。以下为简单对比:
.将一个slice插入到另一个slice的指定位置:
不使用append:
复制代码 代码如下:func insertSliceAtIndex(slice_origin []int, slice_to_insert []int,
insertIndex int) (result []int, err error) {
if insertIndex > len(slice_origin) {
return nil, errors.New("insertIndex不能大于slice_origin的长度")
}
result = make([]int, len(slice_origin)+len(slice_to_insert))
for i := 0; i < len(result); i++ {
if i < insertIndex { //插入点之间
result[i] = slice_origin[i]
} else if i < 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语言程序设计有所帮助。
更新日志
- 常宽.1994-宽【华星】【WAV+CUE】
- 草蜢.1998-快慢精选30首2CD【宝丽金】【WAV+CUE】
- 韩红/陈萨《沉默的光影》[FLAC/分轨][105.37MB]
- 群星《华纳至尊金曲》2CD[FLAC][865M]
- 周杰伦《JAY》[WAV分轨][624M]
- dnf110装备搭配
- 崩坏星穹铁道2.2美梦往事活动攻略大全 钟表小子美梦往事全流程选择
- 崩坏星穹铁道2.2新增钟表把戏任务怎么过 崩铁2.2梦境迷钟解密方法
- 刘思涵.2013-拥抱你【种子音乐】【WAV+CUE】
- 刘容嘉.2014-我的自卑感【亚神音乐】【WAV+CUE】
- 【HIRES】贝多芬《钢琴奏鸣曲No.814“月光与悲怆”》索尼精迅Hi-Res/FLAC/96kHz/24bit」
- Switch继任机或采用12GB内存 存储空间256GB
- 任天堂NS2大概率不在本财年内发售 芯片供应有保障
- 万代魂推出1:1《塞尔达传说》大师之剑 9月正式发售
- 江梦蕾.1997-爱的旋律·成名经典(巨星珍藏系列)【丽风】【WAV+CUE】