熟悉C++、java、VB等编程语言的朋友都知道String(字符串),它是编程语言中表示文本的数据类型,字符串由若干字符组成的,是所有编程语⾔中⾮常重要的成员。可能很多朋友平时只是使用它,没有仔细研究其中的奥秘。其实,字符串还是有很多值得我们深入研究的地方。
一、思考
在 Swift 开发使用字符串的过程中,你是否有思考过以下问题?
- 1 个字符串变量占用多少内存?
- 字符串 str1、str2 的底层存储有什么不同?
- 如果对 str1、str2 进行拼接操作,str1、str2 的底层存储又会发生什么变化?
如果你能准确地回答以上问题,那说明对 Swift 字符串的底层存储机制还是比较了解的。
二、1 个字符串变量占用多少内存?
方法 1:MemoryLayout
首先,可以借助 Swift 自带的 MemoryLayout 来测试一下