如果一个变量在文件中的多个函数中使用,将其定义为静态而不是通过函数参数传递非静态变量会更好吗?这对性能有影响吗?
使用静态变量的示例:
lazy_static! {
static ref FOO: Foo = {
Foo::new()
};
}
fn main() {
do_foo();
do_another_foo();
}
fn do_foo() {
FOO.bar();
// ...
}
fn do_another_foo() {
let name = FOO.name();
// ...
}
使用普通变量的示例:
fn main() {
let foo = Foo::new();
do_foo(&foo);
do_another_foo(&foo);
}
fn do_foo(foo: &Foo) {
foo.bar();
// ...
}
fn do_another_foo(foo: &Foo) {
let name = foo.name();
// ...
}