2 个稳定版本
1.0.1 | 2024年5月17日 |
---|---|
1.0.0 | 2024年5月15日 |
#575 在 开发工具
44 每月下载量
9KB
string-literals
一个非常小的包,包含 Rust 宏,以更轻松的方式创建 String 类型。
在 Rust 中创建字符串字面量时,给定的类型是 &str
。要创建一个拥有的 String
类型,您需要
- 将字面量传递给
String::from()
, - 调用
.to_owned()
或在&str
字面量上调用.to_string()
此包旨在使这一过程略微更加方便;请参阅下文 用法 部分的示例。
安装
cargo add string-literals
用法
字符串
use string_literals::s;
let old = "Hello, world!".to_owned();
let new = s!("Hello, world!");
数组、向量
use string_literals::{string_arr, string_vec};
let old_arr: [String; 3] = ["Banana".to_owned(), "Apple".to_owned(), "Orange".to_owned()];
let new_arr: [String; 3] = string_arr!["Banana", "Apple", "Orange"];
let old_vec = vec!["Banana".to_owned(), "Apple".to_owned(), "Orange".to_owned()];
let new_vec = string_vec!["Banana", "Apple", "Orange"];
哈希表
use std::collections::HashMap;
use string_literals::string_hashmap;
let mut old1: HashMap<String, String> = HashMap::new();
old1.insert("Banana".to_owned(), "Good".to_owned());
old1.insert("Apple".to_owned(), "Okay".to_owned());
let old2: HashMap<String, String> = HashMap::from([
("Banana".to_owned(), "Good".to_owned()),
("Apple".to_owned(), "Okay".to_owned()),
]);
let new: HashMap<String, String> = string_hashmap! {
"Banana" => "Good",
"Apple" => "Okay",
};
许可
许可协议为以下之一
- Apache 许可证第 2 版 (
LICENSE-APACHE
或 http://www.apache.org/licenses/LICENSE-2.0) - MIT 许可证 (
LICENSE-MIT
或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确表示,否则任何有意提交以包含在作品中的贡献,如 Apache-2.0 许可证中定义的,均应如上双许可,不附加任何其他条款或条件。