我们可以在Swift中的参数名称中有两个以上的单词吗?

时间:2017-09-21 05:43:07

标签: ios swift xcode

我是Swift的初学者。我想知道参数名称中是否有超过2个单词?

此外,只有名称中有2个单词时才使用参数名称和参数标签吗?如果只有一个单词怎么办?我们仍然会将函数内部使用的参数称为参数名称,并将外部使用的参数称为参数标签,或者我们只是将其称为参数,或者我们将它们称为两者?

谢谢你:)

4 个答案:

答案 0 :(得分:0)

那不是两个字。第一个是公共名称,第二个是私人。你应该使用Camel-Case来获得更多的单词。

func funcName(publicName privateName: Int) {}

答案 1 :(得分:0)

编程语言并不具备"单词"的概念。只有"标识符"和#34;令牌"存在。

要声明参数,您需要三个标识符:

publicParameterName privateParameterName: Type

其中publicParameterName可以是_

您不能在参数名称中使用2个以上的标识符,因为这是语言的设计方式。编译器看到第一个标识符并将其视为公共参数名称,它会看到第二个标识符并将其视为私有标识符。然后它会在:之前看到第三个标识符,它会将它视为什么?它不知道!这就是当您尝试使用三个标识符时出现错误的原因。

你显然可以使用2个以上的英语单词"在参数名称中。只要确保这些单词之间没有空格,否则它将被视为两个标识符这是一个例子:

func foo(aVeryLongParameterNameWithNineEnglishWords: Any)

如您所见,我在上面的示例中仅使用了一个参数名称标识符。 你可以这样做。如果您只有一个标识符,那么它将被视为公共和私有参数名称。

答案 2 :(得分:0)

扩展Sweeper和Lumialxk的答案

此处 publicName 是参数的标签, privateName 是实际参数。

参数的标签定义与参数相关,但是当你想使用参数时,你必须使用实际的参数

示例:带标签

下面你可以看到第一个最后是标签。

enter image description here

enter image description here

enter image description here

示例2:没有标签

下面你可以看到第一个没有标签,但最后是标签。

enter image description here

enter image description here

enter image description here

注意:您只能将_用于第一个参数。

希望上面的例子清除你。

答案 3 :(得分:0)

在swift中可以有2个与该方法参数对应的名称:

1。 外部名称 - 在方法外可见名称

2。 内部名称 - 在方法中可见的名称

Example:

func funcName(externalName internalName: Int) 
{ 
     print("\(internalName)")
}

funcName(externalNamme: 3)

外部名称为optional,即如果您不提供任何外部名称,则会将内部名称视为外部名称。

Example:

func funcName(internalName: Int) 
{ 
     print("\(internalName)")
}

funcName(internalName: 3)

此外,如果您在调用时不想为参数指定任何名称,则可以使用underscore(_)替换外部名称。

Example:

func funcName(_ internalName: Int) 
{ 
     print("\(internalName)")
}

funcName(3)