【问题标题】:A local function in RustRust 中的局部函数
【发布时间】:2014-11-01 02:18:20
【问题描述】:

在 Rust 中有任何方法可以创建一个 local 函数,该函数可以多次调用。我在 Python 中这样做的方式是:

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

  inner_method1()
  inner_method1()

【问题讨论】:

    标签: rust


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-20
      • 1970-01-01
      • 2023-03-30
      相关资源
      最近更新 更多