본문 바로가기

공부 자료/코틀린[Kotlin]

[Atomic 13] in 키워드 (feat. 이터레이션의 in / 포함 여부 in)

in의 역할은 for문에서만 있는 것이 아니었다?

 

 

지난 블로깅에서 for문에 대한 블로깅을 하면서 in에 대해서 잠깐 접했었다.

in은 해당 범위안에 있는 i를 나타내기 위해서 쓰였었는데, in이 어떻게 쓰이는지 알아보자.

 

 


 

[ in 키워드 ]

 

fun main(){
	val values = 0...5
    for(v in values){
    	print(v) // 출력결과 : 012345
    }
    
    if(2 in values){
    	println(true) // 출력 결과 : true
    }
}

 

- for 루프 제어식에 있는 in은 이터레이션을 의미

 

- 이외의 in은 모두 원소인지 여부를 검사하는 in을 의미하며, 아래와 같이 범위에만 국한되지 않음 (또한 범위는 문자열 범위도 가능)

- 문자열, Double 타입 등 다른 타입에서도 사용 가능

- 문자열 포함 여부에서의 비교는 알파벳 순서로 비교

fun main(){
	print( 't' in "Kotlin") // 출력 결과 : true
    print( 'a' in "Kotlin") // 출력 결과 : false
	print( 0.99 in 1.0..10.0) // 출력 결과 : false
	print( 1.99 in 1.0..10.0) // 출력 결과 : true
    print( "ab" in "aa".."az") // 출력 결과 : true
    print( "ba" in "aa".."az") // 출력 결과 : false
}

 

 


 

[ 오늘의 학습 소감 ]

 

오늘은 지난 for 루프에 이어 in 키워드에 대해 학습을 하였다. for 루프 제어문에서의 쓰임만 보았을 때에는 범위에 포함되는 정수들의 i를 이용해 반복문을 돌리는 것이라고 이해하였는데, 해당 쓰임 뿐 아니라 다른 쓰임도 존재하고 있었다. in은 범위에만 국한된 것이 아닐 뿐더러 포함 여부를 검사하는 역할로도 쓰인다는 사실을 오늘 학습하면서 알게 되었다. 다른 함수 없이 in 키워드 하나만으로 해당 문자가 포함되는지 여부를 알 수 있다는 것은 자바에서보다 코틀린이 훨씬 편리한 것 같다는 생각을 한 하루였다.