首页 > 编程语言 > 详细

GO编程(打卡)-Task06: 数组、切片

时间:2020-12-16 23:00:07      阅读:45      评论:0      收藏:0      [点我收藏+]

数组

package main

import "fmt"

func test(arrp *[3]int){
	arrp[1] = 5
	fmt.Println(arrp)
}
func main() {
    // 定义数组方式一
    var arr1 = [3]int{}
    // 定义数组方式二
    var arr2 = [3]int{1,2,3}
    // 定义数组方式三
    var arr3 = [3]int{1:10}

    fmt.Println("arr1",arr1)
    fmt.Println("arr2",arr2)
    fmt.Println("arr3",arr3)

    // 遍历
    for index,value := range arr2{
    	fmt.Printf("index:%d,value:%d\n",index,value)
    }

    // 指针数组 数组元素为指针

    // 数组指针 指向数组的指针
    var arrp *[3]int
    arrp = &arr2
    fmt.Println(arrp)
    test(arrp)
    fmt.Println(arrp)
}

技术分享图片

切片

package main

import "fmt"

func main() {
	// 切片长度不固定,可以自动扩容
    // 定义切片方式一
    var arr1 = []int{}
    // 定义切片方式二
    var arr2 = []int{1,2,3}
    // 定义切片方式三
    var arr3 = make([]int,5)
    // 定义切片方式四 长度5 容量10
    var arr4 = make([]int,5,10)

    fmt.Println("arr1",arr1)
    fmt.Println("arr2",arr2)
    fmt.Println("arr3 长度 len(arr3)",len(arr3))
    fmt.Println("arr4 容量 cap(arr4)",cap(arr4))

    // 添加元素
    arr2 = append(arr2,4)
    fmt.Println("arr2 添加元素4",arr2)

    // 切片复制
    a := []int{1,2,3}
    b := make([]int,3)
    copy(b,a)
    fmt.Println("a的值复制给b copy(b,a) a",a,"b",b)
    b = make([]int,2)
    copy(b,a)
    fmt.Println("a的值复制给b len(b)<len(a) a",a,"b",b)
    b = make([]int,4)
    copy(b,a)
    fmt.Println("a的值复制给b len(b)>len(a) a",a,"b",b)
    b = make([]int,0)
    copy(b,a)
    fmt.Println("a的值复制给b len(b)=0 a",a,"b",b)

}

技术分享图片

参考

https://github.com/datawhalechina/go-talent/blob/master/5.数组、切片.md

GO编程(打卡)-Task06: 数组、切片

原文:https://www.cnblogs.com/rn-05181226-rw/p/14146677.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!