卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章34808本站已运行393

别名和嵌入的内存使用

别名和嵌入的内存使用

php小编小新在这篇文章中将为大家介绍PHP中的别名和嵌入的内存使用。别名是指多个变量指向同一个内存地址,通过引用传递数据,可以节省内存和提高性能。而嵌入的内存使用是指将小的数据结构直接嵌入到变量中,减少了内存分配和释放的开销。了解和正确使用这两个特性,可以在开发过程中提升代码的效率和性能。

问题内容

别名类型之间的内存使用情况是否存在差异(1)

type String1 string

和嵌入类型(2)

type String2 struct {
    string
}

我认为第二个示例包含两个指针:String2 有一个指向 string 的指针,而 string 有一个指向 UTF-8 字节的指针。

与示例1相同吗?

解决方法

Go 中的结构体值不是引用。它是包含结构字段(以及可能由对齐引起的空洞)的内存块。

因此两种类型的值在内存中看起来应该是相同的。

很容易验证: https://www.php.cn/link/8b36cb431b5aa0d245be4e62cdb8e6b3

卓越飞翔博客
上一篇: 无法停止 Go/Gin 中的中间件链
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏