gpt4 book ai didi

rust - 如何在 Rust 中格式化 String 对象?

转载 作者:行者123 更新时间:2023-11-29 08:25:21 25 4
gpt4 key购买 nike

<分区>

我有一个带有端点的HashMap:

#[derive(Debug, Clone, Copy, Ord, Eq, PartialOrd, PartialEq, Hash)]
enum Endpoint {
OauthToken,
Disciplines,
PublicTournaments,
MyTournaments,
Matches,
}

lazy_static! {
static ref API_EP: HashMap<Endpoint, &'static str> = {
let mut m: HashMap<Endpoint, &'static str> = HashMap::new();
m.insert(Endpoint::OauthToken, "/oauth/v2/token");
m.insert(Endpoint::Disciplines, "/v1/disciplines");
m.insert(Endpoint::PublicTournaments, "/v1/tournaments");
m.insert(Endpoint::MyTournaments, "/v1/me/tournaments");
m.insert(Endpoint::Matches, "/v1/tournaments/{}/matches");
m
};
}

如您所见,可通过 Endpoint::Matches 键访问的 map 项返回一个需要格式化的字符串,但是,我看不到这样做的方法。

我试过使用 format! 宏,但它需要字符串文字而不是对象,所以它不起作用。我试图通过互联网和 rust std 库搜索解决方案,但我无法找到它。有什么办法吗?

为了澄清为什么 format! 不起作用:

error: format argument must be a string literal.
--> src/lib.rs:249:31
|
249 | let address = format!(get_ep_address(Endpoint::Matches)?, id.0);

get_ep_address(Endpoint::Matches)? 不是字符串文字,因此无法使用。

我还想知道如何格式化 &strString 类型。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com