golang 切片简单运用
package main
import "fmt"
func main() {
arr := [...] int{0,1,2,3,4,5,6,7,8,9}
fmt.Println(arr[2:6]) //2 , 3, 4, 5
fmt.Println(arr[:6]) // 0, 1,2,3,4,5
s1 := arr[2:]
fmt.Println(s1) //2,3,4,5,6,7,8,9
s2 := arr[:]
fmt.Println(s2) // 0,1,2,3,4,5,6,7,8,9
}
公式总结:
切割长度 = 结束索引 - 开始索引
以上就是简单 golang
切片运用了. 和python
差不多 , 只不过 Python
都是按照下标切割的.
package main
import "fmt"
func updateSlice(arr []int) {
arr[0] = 100
}
func main() {
// Slice 学习.
arr := [...]int{0,1,2,3,4,5,6,7,8,9}
fmt.Println(arr[2:6]) //2 , 3, 4, 5
fmt.Println(arr[:6]) // 0, 1,2,3,4,5
s1 := arr[2:]
fmt.Println(s1) //2,3,4,5,6,7,8,9
s2 := arr[:]
fmt.Println(s2) // 0,1,2,3,4,5,6,7,8,9
updateSlice(s1)
fmt.Println(s1) // 100,3,4,5,6,7,8,9
fmt.Println(arr)
updateSlice(s2)
fmt.Println(s2) // 100,1,100,3,4,5,6,7,8,9
fmt.Println(arr) // 100,1,100,3,4,5,6,7,8,9
arr1 := []int{0,1,2,3,4,5,6,7}
s := arr1[2:6]
s[0] = 10
fmt.Println(arr1) // 0,1,10,2,3,4,5,6,7
/*
Slice 本身没有数据,是对底层array的一个view
arr 的值变为[0,1,10,2,3,4,5,6,7]
*/
}
总结:
Slice 本身没有数据,是对底层array的一个view
本作品采用《CC 协议》,转载必须注明作者和本文链接
by JeffreyBool blog :point_right: link