1 个稳定版本
1.0.0 | 2024 年 6 月 6 日 |
---|
#562 in 文本处理
9KB
109 行
vec-string-to-static-str
vec-string-to-static-str
is a Rust library providing utilities for converting vectors of String
s into vectors of &'static str
. This library includes both safe and unsafe methods for achieving this conversion.
功能
- 使用
Box::leak
安全地将String
转换为&'static str
- 使用
std::mem::transmute
进行不安全转换,以扩展字符串切片的生存期
用法
将 vec_string_to_static_str
添加到您的 Cargo.toml
[dependencies]
vec-string-to-static-str = "1.0.0"
确保添加 "unsafe"
功能标志以启用 unsafe_vec_string_to_static_str
示例
use vec_string_to_static_str::{vec_string_to_static_str, unsafe_vec_string_to_static_str};
fn main() {
let strings = vec![String::from("hello"), String::from("world")];
// Safe method
let static_strs = vec_string_to_static_str(&strings);
assert_eq!(static_strs, vec!["hello", "world"]);
// Unsafe method
let unsafe_static_strs = unsafe_vec_string_to_static_str(&strings);
assert_eq!(unsafe_static_strs, vec!["hello", "world"]);
}
安全性
- 安全方法:使用
Box::leak
将String
转换为&'static str
,这会导致内存泄漏。 - 不安全方法:使用
std::mem::transmute
扩展字符串切片的生存期,如果不正确使用,可能会导致未定义的行为。
许可证
本项目采用 MIT 许可证。有关详细信息,请参阅 LICENSE 文件。