切片类型应该声明为结构体还是结构体的指针?

    type Widget struct {
        id    int
        attrs []string
    }
    // 切片作为参数传递时,切片里应该保存哪种类型的数据? 结构体还是结构体的指针 
    func doSomThing(ss []Widget){
    
    }
    func doOtherThing(sp []*widget){
    
    }
阅读 3.8k
1 个回答

这个问题跟切片没有关系,你需要考虑的是

  1. 作为参数的struct占用的内存大吗?
  2. 作为参数的struct包含状态资源(会修改自身)吗?

如果是无状态的小结构,那么使用结构体就行,否则还是使用指针吧(如果要修改,则必须使用指针)..

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