标签:方式 printf 直接 声明 imp pre 内置函数 说明 --

package main
import (
"fmt"
)
func main() {
//演示切片的基本使用
var intArr [5]int = [...]int{1, 22, 33, 66, 99}
//声明/定义一个切片
//slice := intArr[1:3]
//1. slice 就是切片名
//2. intArr[1:3] 表示 slice 引用到intArr这个数组
//3. 引用intArr数组的起始下标为 1 , 最后的下标为3(但是不包含3)
slice := intArr[1:3]
fmt.Println("intArr=", intArr) //[1 22 33 66 99]
fmt.Println("slice 的元素是 =", slice) // [22 33]
fmt.Println("slice 的元素个数 =", len(slice)) // 2
fmt.Println("slice 的容量 =", cap(slice)) //4 //切片的容量是可以动态变化
fmt.Printf("intArr[1]的地址=%p\n", &intArr[1]) //intArr[1]的地址=0xc00000c2d8
fmt.Printf("slice[0]的地址=%p slice[0==%v\n", &slice[0], slice[0])
// slice[0]的地址=0xc00000c2d8 slice[0==22
slice[1] = 34
fmt.Println()
fmt.Println()
fmt.Println("intArr=", intArr) //intArr= [1 22 34 66 99]
fmt.Println("slice 的元素是 =", slice) // [22 34]
}

![]()
![]()
![]()
package main
import (
"fmt"
)
func main() {
//演示切片的使用 make
var slice []float64 = make([]float64, 5, 10)
slice[1] = 10
slice[3] = 20
//对于切片,必须make使用.
fmt.Println(slice) //[0 10 0 20 0]
fmt.Println("slice的size=", len(slice)) //5
fmt.Println("slice的cap=", cap(slice)) //10
//方式3
fmt.Println()
//第3种方式:定义一个切片,直接就指定具体数组,使用原理类似make的方式
var strSlice []string = []string{"tom", "jack", "mary"}
fmt.Println("strSlice=", strSlice) //[tom jack mary]
fmt.Println("strSlice size=", len(strSlice)) //3
fmt.Println("strSlice cap=", cap(strSlice)) //3
}


//使用常规的for循环遍历切片
var arr [5]int = [...]int{10, 20, 30, 40, 50}
slice := arr[1:4]
for i := 0; i < len(slice); i++ {
fmt.Printf("slice[%v]=%v ", i, slice[i])
}
fmt.Println()
//使用for--range 方式遍历切片
for i, v := range slice {
fmt.Printf("i=%v v=%v \n", i, v)
}
//用append内置函数,可以对切片进行动态追加
var slice3 []int = []int{100, 200, 300}
//通过append直接给slice3追加具体的元素
slice3 = append(slice3, 400, 500, 600)
fmt.Println("slice3", slice3) //100, 200, 300,400, 500, 600
//通过append将切片slice3追加给slice3
slice3 = append(slice3, slice3...) // 100, 200, 300,400, 500, 600 100, 200, 300,400, 500, 600
fmt.Println("slice3", slice3)
//切片的拷贝操作
//切片使用copy内置函数完成拷贝,举例说明
fmt.Println()
var slice4 []int = []int{1, 2, 3, 4, 5}
var slice5 = make([]int, 10)
copy(slice5, slice4)
fmt.Println("slice4=", slice4)// 1, 2, 3, 4, 5
fmt.Println("slice5=", slice5) // 1, 2, 3, 4, 5, 0 , 0 ,0,0,0


标签:方式 printf 直接 声明 imp pre 内置函数 说明 --
原文地址:https://www.cnblogs.com/yzg-14/p/12227740.html