rust7.所有权
1 | //rust 使用所有权机制管理内存,在编译过程中编译器会根据所有权规则对内存使用进行检查 |
- 函数作用域
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23//如果将string参数返回则可以使用
fn takes_ownership(som_string: String) {
//fn takes_ownership(some_string: String) -> String {
println!("{}",some_string);
//some_string
}
fn makes_copy(i : i32) {
println!("i = {}",i);
}
fn main () {
let s = String::from("Hello");
takes_ownership(s);
//打印不了s
//因为函数已经退出了它的作用域
//也就是内存回收了
//println!("s = {}",s);
let x = 5;
makes_copy(x);
//在栈上的内存
//具有copy trait的类型,相当于函数调用是拷贝
println!("x");
}
Comment