V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
RobertLyu
V2EX  ›  Swift

[ Swift ] 请问为什么 Swift Playground 打印结果会自动加上一对半角圆括号?

  •  
  •   RobertLyu · 2022-11-27 11:12:34 +08:00 · 1705 次点击
    这是一个创建于 724 天前的主题,其中的信息可能已经有所发展或是发生改变。

    截屏 2022-11-27 11.10.36.png

    请问怎么样能够把每次循环结束后自动加上的圆括号关掉?

    9 条回复    2022-11-27 15:18:55 +08:00
    kanel
        1
    kanel  
       2022-11-27 11:54:06 +08:00
    因為你的 function 都是沒有返回值,所以當 while 的 print 和最後一行的 print 打印的都為空,應該是這樣才產生括號
    momocraft
        2
    momocraft  
       2022-11-27 12:49:15 +08:00
    countingStars 返回()

    printPyramid 也返回()
    muxinqi
        3
    muxinqi  
       2022-11-27 13:20:55 +08:00
    print 输出的是 printPyramid 方法的返回值

    而 printPyramid 返回值类型没有写,也就是返回 Void ,查看苹果官方文档可以发现:Void 实际上等价于 空元组 也就是 ()

    https://developer.apple.com/documentation/swift/void
    RobertLyu
        4
    RobertLyu  
    OP
       2022-11-27 14:05:02 +08:00
    @momocraft 但奇怪的是如果我在函数声明要生成“String”结果,Playground 却报错了。

    ![截屏 2022-11-27 14.02.45.png]( https://s2.loli.net/2022/11/27/l5Q17kAb8ceV42p.png)
    RobertLyu
        5
    RobertLyu  
    OP
       2022-11-27 14:06:37 +08:00
    @muxinqi 是的,感谢您在 Apple 支持文档中找到这个说明。

    但是我在 Playground 如果声明“String”,反而会报错了。

    Missing return in global function expected to return 'String'
    RobertLyu
        6
    RobertLyu  
    OP
       2022-11-27 14:09:37 +08:00
    @momocraft
    @muxinqi
    刚刚试验了一下,如果在 Swift Playground 中添加“return ""”返回空值后半角圆括号就被替换了。非常感谢两位的解答!
    GuuJiang
        7
    GuuJiang  
       2022-11-27 15:07:48 +08:00 via iPhone
    @RobertLyu 你这是治标不治本,根本问题是要问问自己,为什么非要在调用函数时写个 print
    ershierdu
        8
    ershierdu  
       2022-11-27 15:13:40 +08:00
    我觉得要么是

    void print_xxx(){}

    要么是

    string xxx(){}
    然后 print(xxx())

    否则很奇怪
    pocarisweat
        9
    pocarisweat  
       2022-11-27 15:18:55 +08:00
    当你没有指明函数返回值类型的时候,函数返回值类型为 Void ,而 Void 实际上就是空元组 () 的别名,显然所有 Void 类型都只有一种值 (),所以 print 出来的结果也是 ()
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3181 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:43 · PVG 21:43 · LAX 05:43 · JFK 08:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.