在Rust中有任何方法可以创建本地功能,可以多次调用 。我在Python中这样做的方式是:
def method1():
def inner_method1():
print("Hello")
inner_method1()
inner_method1()
答案 0 :(得分:36)
是的,您可以在函数内定义函数:
fn method1() {
fn inner_method1() {
println!("Hello");
}
inner_method1();
inner_method1();
}
但是,内部功能无法访问外部范围。它们只是从函数外部无法访问的普通函数。但是,您可以将变量作为参数传递给函数。要定义具有仍可从外部作用域访问变量的特定签名的函数,必须使用闭包。