Rust每日一题:
分析下面的 Rust 代码片段,并指出其中涉及的高级特性和可能存在的问题。
struct Data<T> {
value: T,
}
impl<T> Data<T> {
fn new(value: T) -> Self {
Data { value }
}
fn get_ref(&self) -> &T {
&self.value
}
fn set_value(&mut self, value: T) {
self.value = value;
}
}
fn main() {
let mut data = Data::new(String::from("Hello"));
let r = data.get_ref();
data.set_value(String::from("World"));
println!("{}", r);
}
分析下面的 Rust 代码片段,并指出其中涉及的高级特性和可能存在的问题。
struct Data<T> {
value: T,
}
impl<T> Data<T> {
fn new(value: T) -> Self {
Data { value }
}
fn get_ref(&self) -> &T {
&self.value
}
fn set_value(&mut self, value: T) {
self.value = value;
}
}
fn main() {
let mut data = Data::new(String::from("Hello"));
let r = data.get_ref();
data.set_value(String::from("World"));
println!("{}", r);
}
展开
1
8