跳至内容

sizeof

sizeof 表达式返回一个包含给定类型大小(以字节为单位)的 Int32。例如

sizeof(Int32) # => 4
sizeof(Int64) # => 8

对于 Reference 类型,大小与指针的大小相同

# On a 64-bit machine
sizeof(Pointer(Int32)) # => 8
sizeof(String)         # => 8

这是因为 Reference 的内存是在堆上分配的,并且会传递指向它的指针。要获取类的有效大小,请使用 instance_sizeof

sizeof 的参数是一个 类型,通常与 typeof 结合使用

a = 1
sizeof(typeof(a)) # => 4