You need to enable JavaScript to run this app. 为什么Swift Playground中print语句输出额外的空括号
优惠活动
大模型
产品
解决方案
定价
更多

为什么Swift Playground中print语句输出额外的空括号

异常输出原因

你遇到的输出问题是Swift的函数返回值特性导致的,核心原因如下:

  • 你定义的test、old、feed等所有Pets类的实例方法,都没有显式声明返回值类型,Swift中无显式返回值的函数默认返回Void类型,该类型本质就是空元组()。
  • 你在调用上述方法时额外嵌套了一层print()语句:执行print(pet.test())时,会先运行pet.test()方法内部的print("hi")输出hi,随后pet.test()执行完毕返回空元组(),外层的print就会把这个返回值()单独打印一行,这就是你看到的每行正常输出后都跟一行()的原因。
  • 输出末尾额外出现的(Function)和cat has bathed.是Swift Playground的实时预览求值特性产生的调试附加内容,不属于你编写代码的标准执行输出。
修复方案

如果要消除多余的空元组输出,你可以二选一修改代码:

  • 直接调用实例方法,不需要外层套print,修改后调用代码如下:
pet.test()
pet.old()
pet.feed()
pet.clean()
pet.play()
pet.sleep()
  • 调整方法实现,将需要输出的内容作为返回值返回,不要在方法内部执行print,示例如下:
func test() -> String {
    return "hi"
}
// 后续调用print(pet.test())就只会输出hi,不会出现多余()

内容的提问来源于stack exchange,提问作者Zame Bow

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 21:27:01