登录
首页 >  Golang >  Go问答

int16 与 int64 的内存占用

来源:stackoverflow

时间:2024-02-12 15:21:26 208浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《int16 与 int64 的内存占用》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

int16 的切片会比 int64 占用更少的 RAM 吗?或者 []int16 无论如何都会在 64 位机器上分配 []int64。


正确答案


切片是对底层数组存储的引用。

int16 的切片只能引用 int16 的数组。它不能引用 int64 或任何其他类型的数组。

正确的问题是,int16 数组的大小是否比相同长度的 int64 数组小?

根据我的实践经验,是的。我不知道有什么反例。不过,我不知道有任何语言规则实际上保证了这一点。如果您想在自己的环境中亲自测试它,那么这样做很简单:

package main

import (
    "fmt"
    "unsafe"
)

func main() {
    fmt.Println(unsafe.Sizeof([10]int16{}))
    fmt.Println(unsafe.Sizeof([10]int64{}))
}

终于介绍完啦!小伙伴们,这篇关于《int16 与 int64 的内存占用》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>