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]