golang 语言中指向数组的指针

1、golang中的指向数组的指针如何表示?
2、如何在函数中传递指向数组的指针?

不太理解golang中的指向数组的指针,有哪位大神针对上述两个问题,使用个案例解析下。
网上没有找到什么好的答案(是不是指向数组的指针用的比较少)?

阅读 5.9k
4 个回答

楼上说的是对的,一般情况下不用再传递 map 和 slice 的指针来节省内存开销,但是在一些 unmarshal 的场景会用到它们的指针

map和slice都是“指针”(或者说“引用”)类型。

  1. 数组指针表示
a:=[1]int{1} // 数组,指针表示 &a
  1. 数组指针传值,编译可以通过
func main() {
    a := &[1]int{1} // 数组
    aaa(a)
}

// 接收数组指针
func aaa(a *[1]int) {

}
新手上路,请多包涵

array在go中是值类型,只不过是基础类型int、float、bool或string单个类型的元素集合。使用数组指针方式有2种:
1.使用slice
2.当作普通值类型,使用&获取地址

指针数组传参同理。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题