Kotlin中如何区分普通参数和vararg参数?
时间: 2024-12-24 19:35:42 浏览: 15
在Kotlin中,普通参数和vararg参数(可变参数)的主要区别在于它们的使用方式和功能。
1. **普通参数**(位置参数)[^1]:
- 定义时按照函数定义的顺序排列。
- 当调用函数时,需要按照相同的顺序提供参数。
- 例如,在`fold`函数中,`left`、`center`、`right`和`isEmpty`都是普通参数,它们的位置不能改变。
2. **vararg参数**:
- 定义时通常放在其他参数之后,用星号(*)表示。
- 调用函数时,这些参数可以按任意顺序提供,也可以只提供部分。
- 如果vararg参数不是最后一个参数,则后面的参数可以用具名参数的形式指定。
- 如`sum`函数中的`value`参数就是vararg,你可以按`b`和`c`的顺序或直接提供数值来调用。
举个例子:
```kotlin
fun main() {
// 普通参数示例
fold(left = 0, center = "center", right = false, isEmpty = false)
// vararg参数示例
sum(1, 2, 3, b = 10, c = 100) // 可以这样提供参数
// 或者这样
sum(b = 10, c = 100, 1, 2, 3) // 参数顺序可变
}
```
阅读全文