String Playground Swift字符串用法详解

Swift 的字符串用法,灵活又有点小讲究。String.playground这个资源挺适合你花点时间玩一玩,专门拆解了String的一些常见用法和底层细节,比如值类型的特性、Unicode、字符串切片这些事,基本都覆盖了。

字符串是值类型,赋值会复制内容,不是引用。这在 Swift 里挺常见的,安全性高,线程用着也放心。不过要注意,大量复制会拉性能,你要是做字符串拼接操作,推荐看看StringBuilder或者append(contentsOf:)

Swift 字符串是 Unicode 兼容的,支持各种语言的字符。你可以用\u{0061}这样方式写个‘a’,是不是有点底层操作的感觉?而且它内部字符不是char,是按Character来的,支持表情、组合字符之类的。

访问字符的方式也比较,不支持myStr[0]这种,得用myStr.index(myStr.startIndex, offsetBy: 0)。看着麻烦点,其实是为了兼容各种复杂字符。这也提醒你,在中文、表情符号那类文本时得更小心。

顺手贴几个延伸阅读,想搞清楚值类型和引用类型怎么回事,可以看看这个 C#的例子;字符串索引相关的内容,Python 那边也有讲,思路差不多。

如果你平时写 Swift,或者准备写些字符串的逻辑,String.playground.zip真的蛮值得一看,练练手也好,挖点底层细节也不错。

zip 文件大小:9.88KB