3个不稳定版本
0.2.0 | 2024年7月14日 |
---|---|
0.1.1 | 2024年7月12日 |
0.1.0 | 2024年7月12日 |
20 在 #interning 中
每月292 次下载
17KB
196 行
g-str
GStr是一个设计简单快速的库。它提供了一种 字符串内省,这意味着其功能是避免在代码中不必要的字符串重复。
fn main() {
let string1 = GStr::new("hola");
let string2 = GStr::new("hola");
println!("{string1} Jhon!");
if string1 == string2{
println!("Somos iguales");
}
}
GStr提供了一个结构和Trait
-
GStr: 一个封装字符串并防止字符串重复的结构。
-
StringInfo: 这是一个Trait,其主要目的是以通用方式处理值。这意味着它提供了方法,这些方法可以在不关心传递给结构的 值类型 的情况下由GStr结构使用。
更多信息,您可以在 docs.rs/g-str/ 查找详细的文档。
lib.rs
:
GStr
结构是一个安全的字符串封装,可以防止字符串的重复。
use g_str::GStr;
fn main() {
let cadena = GStr::new("hola");
}
GStr提供了以下方法
- 防止字符串重复:通过内省字符串,确保每个唯一的字符串只存储一次,从而避免不必要的重复。
- 快速计数字符:提供了一种快速获取字符串中字符数的方法。
- 高效比较:允许比较字符串,而无需遍历每个字符,使用引用进行更快的比较。
- 安全封装:允许字符串同时在多个变量中存在,使用引用计数器来管理字符串的生命周期。这确保了字符串在需要时保持在内存中,并在不再需要时自动删除。
GStr
使用一个 引用计数器 来管理字符串的生命周期(类似于Rc结构)。这意味着每次有新的变量引用字符串时,引用计数器会增加。当变量不再使用字符串时,引用计数器会减少。