GO學習筆記--...的用法與Slice頭部插入元素的方法

原由

append函數能夠在一個slice尾部插入元素,某天寫了這麼一句代碼append([]int{1},nums),其中nums是一個slice,可是這麼寫是錯誤的,由於append第二個參數應該是一個參數,單這裏傳入了一個slice。因而研究了一下這個問題golang

解決方案

將其改爲append([]int{1},nums...)便可,差異僅僅是nums後面多了...這樣就表明傳入的是多個元素而不是一個slice,可是這樣實際上是把nums打散成多個元素而後挨個插入第一個slice中,不知道會不會對性能形成影響。以後測試後再補充bash

...的用法

目前總結出的...用法有兩種: 1.放在參數後面,表明不定數量的參數 2.放在slice後面,表明將slice打散進行傳遞app

一種高效的插入元素操做

當想在slice的一個特定位置插入元素時,golang沒有官方方法,這裏記錄一種較爲高效的插入方法函數

s = append(s, zero_value)
copy(s[i+1:], s[i:])
s[i] = x
複製代碼
相關文章
相關標籤/搜索