Я ищу способ, чтобы значения по умолчанию заменяли нулями при передаче в качестве аргументов. Моя мотивация - просто уменьшить объем написанного кода (я хочу избежать перегруженных функций / конструкторов или ручных проверок «если ноль»)
Мой вариант использования находится в Spring RestController, я хочу, чтобы значения по умолчанию для метода, вызываемого контроллером, использовались без необходимости указывать эти значения по умолчанию вне функции.
Возможно, я думал, что использование именованных параметров может обеспечить эту функциональность, но мои эксперименты показывают обратное. Возможно, есть способ с оператором elvis?
Пример кода:
fun someFunction(first: Long = 1, second: Int = 2 ) {
// Do something
}
@GetMapping
fun someEndpoint(@RequestParam("first") firstParam: Long?):ResponseEntity<Any> {
someFunction(firstParam) // Attempt 1: "Required: Long\n Found: Long?
someFunction(first = firstParam) // Attempt 2: Same error
}
Надеюсь, вы можете помочь