首页 文章

Rust中的本地函数

提问于
浏览
21

在Rust中有任何方法可以创建 local 函数,可以调用 more than once . 我在Python中这样做的方式是:

def method1():
  def inner_method1():
    print("Hello")

  inner_method1()
  inner_method1()

1 回答

  • 32

    是的,您可以在函数内定义函数:

    fn method1() {
        fn inner_method1() {
            println!("Hello");
        }
    
        inner_method1();
        inner_method1();
    }
    

    但是,内部函数无权访问外部作用域 . 它们只是从函数外部无法访问的普通函数 . 但是,您可以将变量作为参数传递给函数 . 要定义具有仍可从外部作用域访问变量的特定签名的函数,必须使用闭包 .

相关问题