/*
go切片
切片是go语言的关键类型之一
*/
package main
import (
"fmt"
)
func main() {
/*
和数组不同的是 切片的长度是可变得
我们可以使用内置的make来创建一个长度补位o的切片
*/
s := make([]string, 3)
s[0] = "a"
s[1] = "b"
len(s)
/*
append给切片追加值
然后返回一个新切片
注意append函数不会改变原切片
而是生成了一个新切片
我们需要用原来的切片来接收这个新切片
*/
s = append(s, "d")
s = append(s, "e", "f")
c := make([]string, len(s))
copy(c, s)
/*
切片还包括一个取切片的操作
slice[low:high]
*/
l := s[2:5]
s[:5]
s[1:]
//我们可以同时声明和初始化一个切片
t := []string{"g", "h", "i"}
two := make([][]int, 3)
for i:=0; i < 3; i++ {
iL := i + 1
two[i] = make([]int, iL)
for j := 0; j < iL; j++ {
two[i][j] = i + j
}
}
}