在学习Swift 3的过程当中整理了一些笔记,若是想看其余相关文章可前往《Swift 3必看》系列目录git
sizeof
这个方法名直接取自C语言,可是实际上LLVM中并无一个函数叫sizeof
。并且sizeof
的使用范围很窄,不像map
,filter
这种常常会全局用到。因此从新定义了一个结构体 MemoryLayout
来实现原来sizeof
的功能,使用上也有变化。github
主要有两种方式,一种是直接经过泛型参数从静态变量获取:swift
let stringSize = MemoryLayout<String>.size复制代码
也能够经过调用静态方法获取app
let stringValue = "A"
let varSize = MemoryLayout.size(ofValue: stringValue)复制代码
二者都会获得正确的结果:ide
除了sizeof
, MemoryLayout还能够获取stride
, alignment
。函数
欢迎关注个人微博:@没故事的卓同窗学习
相关连接: SE-0101-Reconfiguring sizeof and related functions into a unifiedMemoryLayout structspa