为什么#在swift中使用此参数

时间:2015-01-30 14:36:05

标签: swift

func random(#min: CGFloat, max: CGFloat) -> CGFloat {
    return random() * (max - min) + min
}

我是swift的新手,不知道Obj-C,#min之前的#是什么意思。这是在Google上搜索的难题,或者我不会在此处发帖。感谢

1 个答案:

答案 0 :(得分:2)

哈希符号表示当您调用该函数时,该参数名称应该用作外部(和本地)名称。请在此链接中查看文档:{​​{3}}

例如:

func doSomething(#someParam: String, #someOtherParam: String){

}

这将对外部和本地范围使用相同的参数名称

应该像这样调用

doSomething(someParam: "myFirstParam", someOtherParam: "mySecondParam");

而不是

doSomething("myFirstParam", "mySecondParam"); //no external param names declared in the function

如果你想要不同的外部和本地名称,你应该声明你的函数:

func doSomething(myLocalParamName someParam: String, mySecondLocalParamName someOtherParam: String){
        //use local param names in here
}

并使用外部参数名称

像以前一样调用该函数

正如文档所指出的,区别在于外部和本地参数名称。我认为这个例子会为你清楚。