

fun main() {
println("Hello, world!!!")
}




함수를 정의할 때는 함수가 반환하도록 하려는 값의 데이터 유형을 지정할 수 있습니다.
반환 유형은 괄호 뒤에 콜론(:) 을 입력하고 반환하려는 유형 (Int, String)등을 입력하여 지정합니다.
반환 유형을 지정하지 않은 경우 반환 유형은 기본적으로 Unit 이 됩니다.
Unit은 함수가 값을 반환하지 않음을 의미합니다.
반환값을 설정했다면 값을 반환해줄 return 값 이 필요합니다.
fun birthdayGreeting(name: String): String {
val nameGreeting = "Happy Birthday, $name!"
val ageGreeting = "You are now 5 years old!"
return "$nameGreeting\n$ageGreeting"
}
println(birthdayGreeting("Rover"))
println(birthdayGreeting("Rex"))
매개변수와 인수는 종종 같은 의미로 사용되곤 하지만 서로 다른 것을 가리킵니다. 함수를 정의할 때는 함수 호출 시 전달할 매개변수를 정의합니다.
함수를 호출할 때는 매개변수를 위한 인수를 전달합니다.
매개변수는 함수가 액세스할 수 있는 변수이고(예: name 변수), 인수는 사용자가 실제로 전달하는 값입니다(예: "Rover" 문자열).
fun birthdayGreeting(name: String, age: Int): String {
val nameGreeting = "Happy Birthday, $name!"
val ageGreeting = "You are now $age years old!"
return "$nameGreeting\n$ageGreeting"
}




https://developer.android.com/kotlin/style-guide?hl=ko
fun main() {
println("Today is sunny!)
}

오류 메시지 'Expecting' 이라는 단어로
시작되는데 Kotlin 컴파일러가 무언가를 '예상' 하지만 코드에서 찾을 수 없기 때문입니다.
이 경우 컴파일러는 프로그램의 두 번째 줄에 있는 코드의 닫는 따옴표와 닫는 괄호를 예상합니다.
fun main() {
println("Today is sunny!")
}


_{ name }님, 안녕하세요.
오늘 { location }에서 만나서 반가웠습니다. { date }에 뵙겠습니다._
각 빈 공간에 들어갈 정보 유형을 지정할 수도 있습니다.
이렇게 하면 원하는 편지 정보를 쉽게 수정할 수 있습니다.

https://kotlinlang.org/docs/basic-types.html#numbers
변수를 사용하려면 먼저 코드에서 변수를 정의해야 합니다.
변수를 선언하다. 정의하다는 의미가 동일하다고 생각하면 됩니다.
변수를 정의한 후에는 프로그램에서 이 변수를 사용할 수 있습니다.

예를 들어 사용자의 받은편지함에 있는 읽지 않은 메일 수의 변수를 정의합니다.
이 변수의 이름은 count 이고, 값은 2를 가집니다.
표현식은 값이 있는 코드의 작은 단위입니다.
표현식은 변수, 함수 호출 등으로 구성될 수 있습니다.
아래 예에서 표현식은 count 변수 하나로 구성됩니다.
표현식의 값은 2입니다.

fun main() {
val count : Int = 2
println(count) // <- 변수 사용
}


println() 에서 따옴표가 없는 count 는 리터럴이 아닌 변수이름입니다.

유형 추론은 Kotlin 컴파일러가 유형을 명시적으로 코드에 작성하지 않고도 변수가 어떤 데이터 유형이어야 하는지 추론하거나 결정할 수 있는 경우입니다.
즉, 변수의 초기값을 제공하면 변수 선언에서 데이터 유형을 생략할 수 있습니다.

참고: 변수를 선언할 때 초깃값을 제공하지 않는 경우 유형을 지정해야 합니다.
다음 코드 줄에서는 초깃값이 제공되지 않으므로 데이터 유형을 지정해야 합니다.val count: Int
다음 코드 줄에서는 할당된 값이 제공되므로 데이터 유형을 생략해도 됩니다.
val count = 2
fun main() {
val cartTotal = 0
cartTotal = 20
println("Total: $cartTotal")
}

fun main() {
var cartTotal = 0
cartTotal = 20
println("Total: $cartTotal")
}
