相关疑难解决方法(0)

与C++/C相比,Golang内存布局

在golang中,似乎没有构造函数,但建议您使用函数分配结构类型的对象,通常以"New"+ TypeName命名,例如

func NewRect(x,y, width, height float) *Rect {
     return &Rect(x,y,width, height)
}
Run Code Online (Sandbox Code Playgroud)

但是,我不确定Go的内存布局.在C/C++中,这种代码意味着您返回一个指向临时对象的指针,因为该变量是在堆栈上分配的,并且该函数在函数返回后可能是一些垃圾.在Golang,我是否必须担心这种事情?因为似乎没有标准显示将在堆栈上分配什么类型的数据与将在堆上分配什么类型的数据.

就像在Java中一样,似乎有一个特定的指出,基本类型如int,float将在堆栈上分配,从该对象派生的其他对象将在堆上分配.在golang,有没有具体谈论这个?

memory layout go

16
推荐指数
1
解决办法
5329
查看次数

你可以用Go"固定"内存中的对象吗?

我有一个Go对象,其内存中的地址我想保持不变.在C#中,可以将对象的位置固定在内存中.Go中有没有办法做到这一点?

go

6
推荐指数
1
解决办法
1708
查看次数

标签 统计

go ×2

layout ×1

memory ×1