まあこれですよね
http://or3.hatenablog.com/entry/2020/01/13/111700or3.hatenablog.com
package main import ( "fmt" ) func main() { arr := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} fmt.Println(arr, len(arr), cap(arr)) // [1 2 3 4 5 6 7 8 9 10] 10 10 i := 3 // l = arr[:i] + arr[i+1:] python風にかくとこう arr = append(arr[:i], arr[i+1:len(arr)]...) // 3番目のインデックスを消したよ fmt.Println(arr, len(arr), cap(arr)) // [1 2 3 5 6 7 8 9 10] 9 10 arr = append(arr[:2], arr[3:len(arr)]...) // ↑からさらに2番目のインデックスを消したよ fmt.Println(arr, len(arr), cap(arr)) // [1 2 5 6 7 8 9 10] 8 10 }
https://play.golang.org/p/YWUmGXi29Uk
変数を使い回すためにappend
の第2引数の可変長スライスの末尾を指定しているんだけど、なんかほかに(理解と実装が)楽な方法があったらおしえてくださいだぜ
golang, 適当に趣味でやってるだけ*1 でプロダクト一切つくってないしなんか作れたらいいんだけどな、とくになんもないね
*1:それを言ったら現状プログラミング全般そうなんだけど