/*
lec 08. 코틀린에서 함수를 다루는법
1. 함수 선언 문법
2. default parameter
3. named argument(parameter)
4. 같은 타입의 여러 파라미터 받기 (가변인자)
*/
fun main() {
// repeat("hello world",2);
// repeat("hello world", useNewLine = false);
//printNameAndGender("MALE","오영수")
//printNameAndGender(name = "오영수", gender = "MALE")
// Kotlin에서 Java 함수를 사용할 때는 named argument를 사용할수없다.
var array = arrayOf("A","B","C")
printAll(*array)
}
//public 생략 가능
// {} block 대신 = 사용 가능
//
public fun max(a: Int, b: Int): Int =
if (a > b) {
a
} else {
b
}
//parmeter Int 와 Int 여서 + "="을 사용해서 반환타입 Int 생략가능
fun max1(a: Int, b: Int) = if (a > b) {
a
} else {
b
}
fun max2(a: Int, b: Int) = if (a > b) a else b
//default parameter
fun repeat(
str: String,
num: Int =3,
useNewLine: Boolean = true
){
for(i in 1..num){
if(useNewLine){
println(str)
}else{
println(str)
}
}
}
fun printNameAndGender(name:String, gender:String){
println(name)
println(gender)
}
fun printAll(vararg strings: String){
for (str in strings){
println(str)
}
}