当前位置 博文首页 > 莫忘输赢的博客:Go-一个切片例子

    莫忘输赢的博客:Go-一个切片例子

    作者:[db:作者] 时间:2021-07-25 12:19

    1、代码

    package main
    
    import "fmt"
    
    func printSlice(x []int) {
    	fmt.Printf("len=%d cap=%d slice=%v\n", len(x), cap(x), x)
    }
    
    func main() {
    	//创建切片
    	nums := []int{0, 1, 2, 3, 4}
    
    	//打印切片
    	fmt.Println(nums)
    
    	//提取新的切片
    	nums1 := nums[0:1]
    	fmt.Println(nums1)
    
    	//打印切片首部元素
    	fmt.Println(nums[0])
    
    	nums2 := nums[:2]
    	nums3 := nums[2:]
    	fmt.Println(nums2)
    	fmt.Println(nums3)
    
    	//增加切片内容
    	var nums4 []int
    	printSlice(nums4)
    	nums4 = append(nums4, 0)
    	printSlice(nums4)
    	nums4 = append(nums4, 1, 2, 3, 4, 5, 6)
    	printSlice(nums4)
    
    	//拷贝切片内容
    	nums5 := make([]int, len(nums4), cap(nums4)*2)
    	copy(nums5, nums4)
    	printSlice(nums5)
    }
    

    2、输出

    ?

    ?

    cs