Parameter 和 argument经常被混淆,虽然它们是完全不同的两个概念。就让我们来讨论下它们是什么以及它们之间的区别。我们也会去理解什么是type parameter和type argument
Parameter vs Argument
parameter是函数中定义的一个变量,argument则是传递给我该函数的实际值。为啦好理解,请看下面的例子。
fun randomString(length: Int): String {
// ....
}
randomString(10)
这个例子中,length是一个parameter,10即为argument
Type parameter vs Type argument
parameter和argument之间的区别是通用的,可以应用于各种类型的函数,方法,构造器等等。我们来探讨下泛型类下的应用:
class Box<T>
val a: Box<Int> = Box()
这里,Box是一个泛型类,T为其type parameter。使用时我们指定Int作为type argument
翻译自:Programmer dictionary: Parameter vs Argument, Type parameter vs Type argument