在 Go 中,似乎没有构造函数,但建议您使用函数分配 struct 类型的对象,通常以“ New” +命名TypeName,例如func NewRect(x,y, width, height float) *Rect { return &Rect(x,y,width, height)}但是,我不确定 Go 的内存布局。在C/C++中,这种代码意味着你返回一个指针,它指向一个临时对象,因为变量是在栈上分配的,而且这个变量在函数返回后可能是一些垃圾。在 Go 中,我需要担心这种事情吗?因为似乎没有标准表明将在堆栈上分配什么样的数据与将在堆上分配什么样的数据。就像在Java中,似乎有一个具体的指出,基本类型如int、float将分配在堆栈上,其他从该对象派生的对象将分配在堆上。在Go中,有没有具体讲过这个?
1 回答
- 1 回答
- 0 关注
- 189 浏览
添加回答
举报
0/150
提交
取消