반응형

♣ **** 화면 출력의 format 만들기 ****

 

- 자바처럼 문자열 결합 연산자 + 사용가능합니다.

println("Hello" + " Kotlin") //출력: Hello Kotlin

 

- 하지만 Number타입에서 String타입으로 자동 형변환은 이루어지지 않습니다.

println( 10 + "Hello") //ERROR

 

- 그래서 Number자료형을 String자료형으로 변환하여 출력해야 합니다. [ 기초타입의 형변환 기능 .toXXX() 사용 ]

println(10.toString() + " Hello")  //"10"+" Hello" -->  출력: 10 Hello

 

- 특이한 점은 문자열이 먼저 있다면 자동 형변환이 되어 덧셈이 가능해 집니다. 특이하죠.

println("Hello" + 10)  //"Hello" + "10"  -->  출력: Hello10

 

- 즉, 두 변수의 값을 덧셈하여 50 + 30 = 80 모양의 출력 코드를 작성해보면.

var nnn1 = 50
var nnn2 = 30
//println( num1 +" + "+ num2 +" = " + num1+num2) //ERROR - 이렇게 작성할 수 없음. [숫자가 처음이라서]
println(nnn1.toString() + " + " + nnn2.toString() + " = " + (nnn1 + nnn2))//이렇게 형변환 하거나
println("" + nnn1 + " + " + nnn2 + " = " + (nnn1 + nnn2)) //이렇게 "" 빈 문자열을 먼저 써서 덧셈 해아함.

 

복잡해 보이네요. 위 2가지 해결 방법 모두 가독성이 떨어지고 실수의 여지가 많습니다. 이를 위해 제공되는 문법이 있습니다.

 

- 문자열 탬플릿 문법 : 문자열 "" 안에서 변수명을 인식하는 문법

println("  $nnn1  +  $nnn2   =   ${nnn1 + nnn2} ") //이렇게 " " 사이에 $키워드로 변수명임을 표시하고 사용하는 방식 사용

 

이렇게  $변수명 을 사용하는 것을 [문자열 탬플릿] 이라고 부름

 

- 즉, 이렇게 코드를 작성하면 코드의 가독성이 더 좋아 질 겁니다.

var name = "sam"
var age = 20
println("이름 : $name \n나이 : $age")

// *출력*
//이름 : sam
//나이 : 20

 

반응형

+ Recent posts