如何在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
相关产品推荐
相关产品推荐

