Параметры по умолчанию

В параметрах метода можно указывать значения по умолчанию. В этом примере значения по умолчанию заданы как для 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

Ключевые моменты:

Обратите внимание, что при использовании значений параметров по умолчанию создается впечатление, что используются три разных переопределенных метода.


Ссылки: