【发布时间】:2015-05-01 09:48:27
【问题描述】:
当我关注关于数组和切片的golang blog post 时,我尝试将 指向切片的指针 传递给修改切片标头中的底层len 属性的函数:
func PtrSubtractOneFromLength(slicePtr *[]byte) {
slice := *slicePtr
*slicePtr = slice[0 : len(slice)-1]
}
当我尝试将其重构为:
func PtrSubtractOneFromLength(slicePtr *[]int) {
*slicePtr = *slicePtr[0 : len(*slicePtr)-1]
}
我收到此错误
cannot slice slicePtr (type *[]int)
slice := *slicePtr 语句的魔力在哪里?
【问题讨论】:
标签: go