切片
2018-08-20 本文已影响0人
次序
package main
import (
"fmt"
)
func f1() {
arr1 := []int{2, 3, 4}
//var slice1 []type = arr1[2]
var slice1 []int = arr1[1:]
for _, val := range slice1 {
fmt.Printf("--------%d-----------\n", val)
}
}
//计算数组元素和的方法
func sum(a []int) int {
s := 0
for i := 0; i < len(a); i++ {
s += a[i]
}
return s
}
func main() {
//和数组不同的是,切片的长度可以在运行时修改,最小为 0 最大为相关数组的长度:
// 切片是一个 长长度度可可变变的的数组
//优点 因为切片是引用,所以它们不需要使用额外的内存并且比使用数组更有效率,
//所以在 Go 代码中 切片比数组更常用
//声明切片的格式是: var identifier []type (不需要说明长度)。
//v := make([]int, 10, 50)
//这样分配一个有 50 个 int 值的数组,并且创建了一个长度为 10,容量为 50 的 切片 v,该 切片 指向数
//组的前 10 个元素。
//Buffer 可以这样定义: var buffer bytes.Buffer 。
f1()
//var arr = [5]int{0, 1, 2, 3, 4}
//sun := sum(arr[:])
//fmt.Printf("--------%d------",sun)
}