Go#4 slice
http://go-tour-jp.appspot.com/#30
A Tour of Goの内容をまとめてます。 コード内容はA Tour of Goから拝借(少し変更を加えている部分もある)
sliceの定義方法
[]T は、 T 型の要素をもつsliceです
package main import "fmt" func main() { //int型のlist p := []int{2, 3, 5, 7, 11, 13} //string型のlist q := []string{"aa", "bb", "cc"} fmt.Println("p ==", p) fmt.Println("q ==", q) for i := 0; i < len(p); i++ { fmt.Printf("p[%d] == %d\n", i, p[i]) } for i := 0; i < len(q); i++ { fmt.Printf("q[%v] == %v\n", i, q[i]) } }
sliceをsliceする
例えば、sliceの2番めから5番めなどがほしい時などに使用したりする!
package main import "fmt" func main() { p := []int{1, 2, 3, 5, 7, 11, 13} fmt.Println("p ==", p) fmt.Println("p[1:4] ==", p[1:4]) // missing low index implies 0 fmt.Println("p[:3] ==", p[:3]) // missing high index implies len(s) fmt.Println("p[4:] ==", p[4:]) }
p == [2 3 5 7 11 13] p[1:4] == [3 5 7] p[:3] == [2 3 5] p[4:] == [11 13]