27次发布
0.2.2 | 2024年5月14日 |
---|---|
0.2.1 | 2024年1月16日 |
0.2.0 | 2023年4月11日 |
0.1.25 |
|
0.1.7 | 2018年10月13日 |
在Rust模式中排名27
每月下载量947,680
在2,152个crate(186个直接)中使用
32KB
784 行
smol_str
SmolStr
是一种具有以下特性的字符串类型
size_of::<SmolStr>() == 24
(因此,在64位平台上等于== size_of::<String>()
)Clone
是O(1)
- 如果字符串满足以下条件,则为栈分配
- 长度不超过23字节
- 长度超过23字节,但为
WS
(见src/lib.rs
)的子字符串。此类字符串仅由连续的换行符后跟连续的空格组成
- 如果字符串不满足上述条件,则为堆分配
- 此外,可以从
&'static str
显式创建SmolStr
,而无需分配
然而,与String
不同,SmolStr
是不可变的。SmolStr
的主要用途是典型编程语言中令牌的足够好的默认存储。由于缩进,由一系列换行符后跟一系列空白符组成的字符串是计算机程序中的典型模式。请注意,对于某些用例,专门的intern器可能是一个更好的解决方案。
MSRV策略
最小支持的Rust版本:最新稳定版。
提高MSRV不被视为semver破坏性更改。
依赖项
~185KB