Kotlin 공부 기록

monshell·2021년 7월 31일
0

KOTLIN

목록 보기
1/1
post-thumbnail

https://kotlinlang.org/docs/basic-syntax.html#conditional-expressions
위 사이트를 토대로 개인 공부 도중 기록이 필요한 내용을 적는 페이지


[0731]

Basic Syntax 내용 중 아래와 같은 예시가 있다.

예제 코드만 보면 println(s2) 결과로
"a was 2, but now is 2"
라고 출력 되어야 할 것 같은데, 실행 결과는
"a was 1, but now is 2"
이다.

왜???
val s2를 만들기 전에 a = 2 를 대입 했는데 왜 "a was 1" 이 나오지??

싶었는데
...

val s1을 만드는 시점에서 이미 "a is 1" 이라는, 더이상 a 변수에 영향을 받지 않는 고정된 스트링을 만들었기 때문에
a = 2를 대입해봤자 s1은 변함 없이 "a is 1" 인 상태이고
.replace 를 통해 "a is 1" -> "a was 1" 로 문자를 치환 한거라서
println(s2) 결과는 "a was 1, but now is 2" 가 프린트 되는게 맞다.

다시 보니 왜 처음에 의문을 가졌는지가 의문이다
나도 모르게 "a is $a" 가 a의 변경을 반영 하면서 같이 변경 될거라고 생각 했나보다.

0개의 댓글