Data.Text
Text
是 Haskell 标准 String
类型的更有效的替代品。根据 Haskell 报告 ,String
被定义为标准 Prelude 中的字符链接列表 :
type String = [Char]
Text
表示为 Unicode 字符的打包数组。这类似于大多数其他高级语言表示字符串的方式,并且比列表版本提供更好的时间和空间效率。
对于所有生产用途,Text
应优先于 String
。一个值得注意的例外是取决于具有 String
API 的库,但即使在这种情况下,也可以在内部使用 Text
并在与库连接之前转换为 String
。
本主题中的所有示例都使用 OverloadedStrings
语言扩展 。