菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
74
0

第 10 节:复合类型- 6.指针和切片

原创
05/13 14:22
阅读数 769

6. 指针和切片

package main

import "fmt"

func main0701() {
    slice := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

    //指针和切片建立关系
    p := &slice
    //fmt.Printf("%p\n", p)
    //fmt.Printf("%p\n", slice)

    //*[]int
    //fmt.Printf("%T\n", p)
    //因为指向切片的指针 加下标找不到具体元素
    //p[1] = 222//err

    //(*p)[1] = 222

    //fmt.Println(slice)

    //通过指针间接操作切片的元素
    for i := 0; i < len(*p); i++ {
        fmt.Println((*p)[i])
    }
}

//func test2(s []int) {
//
//  s = append(s, 1, 2, 3)
//  fmt.Println(s)
//}

//切片指针作为函数参数
func test3(s *[]int) {

    *s = append(*s, 1, 2, 3)
}
func main() {
    s := []int{1, 2, 3, 4, 5, 6}

    //test2(s)
    //地址传递
    test3(&s)
    fmt.Println(s)
}

发表评论

0/200
74 点赞
0 评论
收藏
为你推荐 换一批