slice

作者: wncbbnk | 来源:发表于2019-10-21 17:47 被阅读0次
package main

import (
    "fmt"
    "unsafe"
)

type Slice struct {
    ptr unsafe.Pointer
    len int
    cap int
}

func printSlice(name string, s []int) {
    myS := (*Slice)(unsafe.Pointer(&s))
    fmt.Printf("name:%+v\n", myS)
}

func main() {
    s1 := make([]int, 6)
    fmt.Printf("s1=%+v len=%d cap=%d\n", s1, len(s1), cap(s1))
    printSlice("s1", s1)

    s2 := s1[2:3]
    printSlice("s2", s2)
    
    s3 := s1[3:6:15]
    printSlice("s3", s3)

    fmt.Println("vim-go")
}

s3:=s1[2:3:4] s3的ptr指向s1底层array的2号位置,长度为3-2=1,cap的结尾指向s1底层array的4号位置,即cap=4-2=2

相关文章

  • go 数组和切片slice那些事儿

    目录 数组数组概念数组的初始化 切片slice概念slice创建slice追加slice拼接问题slice作为函数...

  • golang slice学习

    1. slice的结构 slice是值类型 slice类型声明后类似于:var arr slice 而非 var ...

  • Zeroc Ice 入门(二) slice语言(1)

    Slice 语言定义 在这里,我们提供Slice语言。 Slice(Specification Language ...

  • ken

    001 slice的切片隐藏数据问题 当你重新划分一个slice时,新的slice将引用原有slice的数组。如果...

  • JavaScript中slice()、splice()、spli

    slice()和splice()都是数组截取方法(字符串中也有slice()方法);1、a:slice(start...

  • 4-数据类型内存结构-slice

    5. slice slice变量有三部分组成1-数组地址2-slice长度3-slice容量 1、使用runtim...

  • Go slice那些事

    今晚闲来无事,总结一下Go的slice slice是什么slice在Go中的原型?slice类似数组,是一种定长的...

  • slice 和substring,substr

    1. slice 定义slice() 方法可从已有的数组中返回选定的元素。 语法arrayObject.slice...

  • JS能力测评经典题2

    不考虑算法复杂度,用递归做: slice 参数 : slice(start,end); slice 方法,在str...

  • string 操作总结

    1.String.prototype.slice The slice() method extracts a s...

网友评论

      本文标题:slice

      本文链接:https://www.haomeiwen.com/subject/ggxxvctx.html