【问题标题】:What does it mean print(_:separator:terminator:)什么意思 print(_:separator:terminator:)
【发布时间】:2019-09-18 03:25:39
【问题描述】:

我不明白 Apple 的解释方式。参数之间的“:”是什么意思?

它用于将函数分配给这样的变量

func sum(a: Int, b: Int) -> Int {
    return(a+b)
}

let addTwoNumbers = sum(a:b:)
addTwoNumbers(1, 2)
//prints 3

【问题讨论】:

  • 你检查过这个link
  • 如果您指的是语法,它表示参数“_:”,“分隔符:”,“终止符:”所以 3 个参数,第一个是匿名的,另外两个被命名为“分隔符”和“终结者”。您不必在示例中使用最后两个的原因是它们具有默认值。
  • 看到这个link
  • 请阅读 Swift 书籍的函数章节,特别是 Function Argument Labels and Parameter Names 部分。
  • 我得到了下面的答案并且理解了。谢谢!

标签: swift


【解决方案1】:

print 有 2 个重载(2 个同名的不同函数) - this onethis one

如果你只是说print,你的意思是哪个过载是模棱两可的。因此,您还要指定函数的参数标签,因此第一个重载称为print(_:separator:terminator:),第二个称为print(_:separator:terminator:to:)

让我们剖析print(_:separator:terminator:)。我们可以看到它有三个参数标签——_separatorterminator: 只是用来分隔标签。也是你调用函数时在标签后面写的字符:

print("hello", "world", separator: " ")
                                 ^

所以这有点道理。

【讨论】:

  • 是为了给变量赋值?
  • @John 是的,只是泛指一个函数。
猜你喜欢
  • 2014-04-02
  • 1970-01-01
  • 2020-12-13
  • 2022-01-23
  • 1970-01-01
  • 2014-10-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多