天天看點

golang slice的聲明和初始化

為什麼會報錯呢?

為什麼用append()卻不會報錯??

用s[i] = i+3 這種方法會報錯

golang slice的聲明和初始化
golang slice的聲明和初始化

package main

import (
        "log"
)

func main()  {

        s := make([]int, 2, 3)
        for i:= 0; i< 10; i++ {
                //s = append(s, i+3) //為什麼這種可以,下面這種不行??
                s[i] = i+3
        }

        log.Printf("%#v", s)
        log.Println("len:", len(s))
        log.Println("cap:", cap(s))
        log.Println("mm:", s[8])
        for k, v := range s {
                log.Println("k/v:", k, v)
        }
}