Qual è la complessità della funzione integrata di go append
? Che dire della concatenazione di stringhe usando +
?Big O di append in golang
Vorrei rimuovere un elemento da una sezione aggiungendo due fette escludendo quell'elemento, es. http://play.golang.org/p/RIR5fXq-Sf
nums := []int{0, 1, 2, 3, 4, 5, 6, 7}
fmt.Println(append(nums[:4], nums[5:]...))
=> [0 1 2 3 5 6 7]
http://golang.org/pkg/builtin/#append dice che se la destinazione ha una capacità sufficiente, allora quella fetta è resliced
. Spero che "reslicing" sia un'operazione a tempo costante. Spero anche che lo stesso valga per la concatenazione di stringhe usando +
.
Alcuni ref sul comportamento: http://criticalindirection.com/2016/02/17/slice-with-a-pinch-of-salt/ – user31986