【问题标题】:What is the meaning of () in output console?输出控制台中的()是什么意思?
【发布时间】:2021-06-09 03:29:41
【问题描述】:

问题陈述

我是 Swift 新手,似乎无法理解 () 的含义,即在我的班级的每个函数调用之后不断出现。

守则

import UIKit


class sample{
        //Member variables
        var number = 34
        var decimal = 3.5
        var subject = ""

        //Member method

        func printSentence(){
            number += 1
            print("The value of number is \(number)")
            print("Subject name: \(subject)")
        }

}

var o: sample = sample()

print(o.subject)
print(o.printSentence())
o.subject = "Swift Programming"

print(o.subject)
print(o.printSentence())

我确实有面向对象的背景,但我无法理解 () 在运行我的程序时显示在实时查看器和控制台中的含义。 (下面的截图)

【问题讨论】:

    标签: swift swift5 swift-playground


    【解决方案1】:

    这是来自这一行:

    print(o.printSentence())
    

    o.printSentence() 是一个不返回任何内容的函数,也就是 ()Void

    您可能是想调用函数,而不是打印函数:

    o.printSentence() /// executes all the code inside `printSentence()`
    

    【讨论】:

    • 在 Live Viewer 上显示它是有意义的,但为什么它会显示在控制台上呢?你能把它包括在你的答案中吗?
    • @mishsx 已编辑 - 我很确定您打算这样做 o.printSentence()
    • 好的,如果我尝试打印一个什么都不返回的函数调用,Swift 会显示为()。整洁!
    【解决方案2】:

    如果您想使用 print 方法,请更改您的函数,使其返回一个字符串值。然后你打印字符串值:)

    例如

    class sample {
        var number = 34
        var decimal = 3.5
        var subject = ""
    
    func printSentence(subject: String) -> (String){
        self.number+=1
        return ("The value of number is \(number)" + " and my subject name is \(subject)")
            
        }
    }
    
    var o: sample = sample()
    print(o.number)
    
    
    print(o.printSentence(subject: "Swift"))
    print(o.number)
    

    输出:

    34

    number 的值为 35,我的主题名称是 Swift

    35

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-19
      • 2013-01-20
      • 2017-11-23
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多