如何在 Mojo 中指定 fn 函数的返回类型

Pra*_*gre 5 mojolang

我正在运行一段计算 Mojo 中阶乘的代码:

fn fact(x:Int):
    var mul:Int=1
    for i in range(1,x+1):
        mul = mul*i
    return mul
print(fact(7))
Run Code Online (Sandbox Code Playgroud)

但是当我运行这个时,我收到错误:cannot implicitly convert 'Int' value to 'None' in return value

return mul
Run Code Online (Sandbox Code Playgroud)

我尝试使用fn:Int,但这不是正确的语法

小智 6

在 Mojo 中,函数的返回类型在函数参数列表后面的冒号 (:) 后指定。要在代码中指定事实函数的返回类型,您可以使用 -> 运算符,后跟所需的返回类型。

检查一下:

fn fact(x: Int) -> Int:
    var mul: Int = 1
    for i in range(1, x + 1):
        mul = mul * i
    return mul

print(fact(7))
Run Code Online (Sandbox Code Playgroud)