小编Asn*_*ari的帖子

如果我想将环境变量的默认值传递给“unwrap_or”,为什么我需要传递“String”而不是“&str”?

我正在尝试解析环境值;使用std::env如下

let environment = env::var("APP_ENV").unwrap();
Run Code Online (Sandbox Code Playgroud)

这将向变量返回一个字符串environment。如果我想传递默认值,那么我必须使用下面的代码

let environment = env::var("APP_ENV").unwrap_or("development".into());
Run Code Online (Sandbox Code Playgroud)

但我期待这样做

let environment = env::var("APP_ENV").unwrap_or("development");
Run Code Online (Sandbox Code Playgroud)

正如 Rust示例中提到的

但随后显示错误String expected but found &str

为什么示例代码中没有发生该错误?

rust

3
推荐指数
1
解决办法
1597
查看次数

String::from("") & "".to_string() 在 Rust 中有何不同?

Rust中的String::from("")&"".to_string()有何不同?

在这两种情况下,堆栈和堆分配有什么区别吗?

rust

3
推荐指数
1
解决办法
834
查看次数

无法将 json 反序列化为 Rust 中的结构

我正在尝试将字符串反序列化为 Rust 中的结构。以下代码仅来自json_serde文档。

use serde::{Deserialize, Serialize};
use serde_json::Result;

#[derive(Serialize, Deserialize)]
struct Person {
    name: String,
    age: u8,
    phones: Vec<String>,
}

fn main() {
    let data = r#"
        {
            "name": "John Doe",
            "age": 43,
            "phones": [
                "+44 1234567",
                "+44 2345678"
            ]
        }"#;

    // Parse the string of data into a Person object. This is exactly the
    // same function as the one that produced serde_json::Value above, but
    // now we are asking it for a Person as output.
    let …
Run Code Online (Sandbox Code Playgroud)

rust

1
推荐指数
1
解决办法
1095
查看次数

git merge origin master 与 git merge origin/master 相同吗?

git merge origin master相同的git merge origin/master。如果不是,有什么不同?目标是将最新的远程主服务器合并到本地分支。

git github

1
推荐指数
1
解决办法
194
查看次数

标签 统计

rust ×3

git ×1

github ×1