func main(args:Array<String>){
println("Hello World!")
}
모든 언어를 배울 때 국룰인 "Hello World" 출력해봤다.
여기서 알 수 있는 것들
func max(a : Int, b:Int):Int{
return if(a>b) a else b
}
println(max(5,4))
함수 이름 : max
파라미터 목록 : (a: Int, b:Int)
반환 타입 : Int
함수 본문 : return if(a>b) a else b
문(statement) vs 식(expression)
식 : 값을 만들어 내며 다른 식의 하위 요소로 계산에 참여할 수 있다.
문 : 최상위 요소로 존재하며 아무런 값을 만들어내지 못한다.
자바 : 모든 제어 구조 -> 문
코틀린 : 루프를 제외한 대부분의 제어구조 ->. 식
위의 코드를 더 간단하 만들 수 있다.
fun max(a: Int , b: Int)= if(a>b) a else b
전자 코드를 블록이 본문인 함수
후자 코드를 식이 본문인 함수
코틀린은 타입 추론이 가능하기때문에 식이 본문인 함수가 가능!
val question = "곽성현, Jacob"
val answer = 31
val answer :Int=31
변수 선언시에 사용하는 키워드는 총 2개 있다. val, var
val 참조 자체는 불변일지라도 그 참조가 가리키는 객체의 내부 값은 변경될 수 있다!
var 의 경우 값은 변경 가능하지만 타입은 변경이 불가하다.
변경하려면 강제 형 변환을 해야한다.
fun main(args: Array<String>){
val name=if(args.size>0) args[0] else "Kotlin"
println("Hello $name!")
}
문자열 리터럴의 필요한 곳에 변수를 넣되 변수 앞에 $를 추가해야함.
("Hello, "+name+"!")
와 동일한 기능을 가지지만 보다 더 간결하다.
만약 $라는 문자를 넣고 싶다면 \를 같이 쓰면 된다.