You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MOJO语言中定义重载函数?附报错代码示例

如何在MOJO中定义重载函数?

你的代码运行失败,核心原因是MOJO要求显式使用@overload装饰器来标记重载函数,不能直接定义同名函数。

修正后的代码如下:

@overload
fn greet(n: Bool) -> String:
    return "Hello, 2!"

@overload
fn greet(name: String) -> String:
    return "Hello, " + name + "!"

fn main():
    print(greet("hi"))
    print(greet(False))

关键说明:

  • 每一个重载的函数都必须用@overload装饰器标记,让编译器识别这是一组重载实现
  • 重载函数的参数类型(或数量)必须存在差异,这样编译器才能根据调用时传入的参数,匹配到对应的函数版本

内容的提问来源于stack exchange,提问作者Alex Craft

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 21:57:07