Ste*_*eve 3 generics struct rust
我正在尝试创建一个可以初始化为某种类型的通用结构T.它看起来像这样:
pub struct MyStruct<T> {
    test_field: Option<T>,
    name: String,
    age: i32,
}
impl MyStruct<T> {
    fn new(new_age: i32, new_name: String) -> MyStruct<T> {
        MyStruct<T> {
            test_field: None,
            age: new_age,
            name: new_name,
        }
    }
}
但这似乎不起作用.我明白了
链式比较运算符需要括号
和一堆其他的东西.
She*_*ter 11
我强烈推荐阅读Rust编程语言.它涵盖了这样的基础知识,Rust团队花了很多时间来做好事!具体来说,关于泛型的部分可能在这里有所帮助.
<T>实例化结构时不需要使用.T将推断出类型:
struct MyStruct<T> {
    test_field: Option<T>,
    name: String,
    age: i32,
}
impl<T> MyStruct<T> {
//  ^^^
    fn new(new_age: i32, new_name: String) -> MyStruct<T> {
        MyStruct {
            test_field: None,
            age: new_age,
            name: new_name,
        }
    }
}
此外,Rust样式是4空格缩进和T标识符.
作为DK.指出,您可以选择指定类型参数:
MyStruct::<T> {
//      ^^^^^
    test_field: None,
    age: new_age,
    name: new_name,
}
当类型不明确时,我只见过这样的东西,这种情况并不经常发生.
| 归档时间: | 
 | 
| 查看次数: | 1632 次 | 
| 最近记录: |