Параметры по умолчанию
В параметрах метода можно указывать значения по умолчанию.
В этом примере значения по умолчанию заданы как для timeout
, так и для protocol
:
def makeConnection(timeout: Int = 5_000, protocol: String = "http") =
println(f"timeout = ${timeout}%d, protocol = ${protocol}%s")
Поскольку параметры имеют значения по умолчанию, метод можно вызвать следующими способами:
makeConnection()
// timeout = 5000, protocol = http
makeConnection(2_000)
// timeout = 2000, protocol = http
makeConnection(3_000, "https")
// timeout = 3000, protocol = https
Ключевые моменты:
- в первом примере метод вызывается без аргументов,
поэтому он использует значения параметров по умолчанию:
5_000
иhttp
- во втором примере для значения
timeout
указано2_000
- оно используется вместе со значением по умолчанию дляprotocol
- в третьем примере указаны значения для обоих параметров, поэтому используются именно они
Обратите внимание, что при использовании значений параметров по умолчанию создается впечатление, что используются три разных переопределенных метода.
Ссылки: