파트 2: Kotlin을 사용한 제어 흐름
동기 부여
이 문서는 작업 또는 일부 흥미로운 프로젝트를 위해 Kotlin 언어를 빠르게 이해하려는 고급 개발자를 위해 작성되었습니다.
긴 시리즈의 2부인 이 기사에서는 설치, 기본 구문 및 기능에 대한 빠른 소개를 다룹니다.
Note : I do use a For-Loop in this article to simulate draws from a finite sequence from 0 to 10 but the syntax is relatively similar to other languages.
Kotlin의 제어 흐름
Kotlin에는 결정을 내릴 때 사용할 수 있는 두 가지 주요 구조가 있습니다.
다른 경우라면
첫 번째는 아래 예제에서 볼 수 있는
if-else
구문입니다.fun main(){
val controlling:Int = 3;
if(controlling < 4){
println("The Value is less than 4")
}
else{
println("The value is larger than 4")
}
}
별로 유용하지 않은 것 같으니 kotlin
random
패키지를 사용하는 대신 무작위로 4개의 숫자를 생성하는 간단한 예를 들어보겠습니다.import kotlin.random.Random
fun main(){
var controlling:Int;
for( i in 1..4){
controlling = (0..10).random()
if(controlling < 4){
println("The Value of $controlling is less than 4")
}
else{
println("The value of $controlling is larger than 4")
}
}
}
더 단순화할 수 있는
import kotlin.random.Random
fun main(){
var controlling:Int;
for( i in 1..4){
controlling = (0..10).random()
println(
"The value of $controlling is ${
if(controlling > 4) "greater" else "less"
} than 4"
)
}
}
이것은 차례로 동일한 출력을 제공합니다.
The value of 7 is greater than 4
The value of 10 is greater than 4
The value of 5 is greater than 4
The value of 8 is greater than 4
언제 사용합니까? :)
이 논리를 표현하는 또 다른 가능한 방법은
when
구문을 사용하는 것입니다.import kotlin.random.Random
fun main(){
var controlling:Int;
for( i in 1..4){
controlling = (0..10).random()
when(controlling){
in 0..4 -> println("$controlling is less than or equal to 4")
in 5..10 -> println("$controlling is greater than 4")
else -> println("Unsupported Number")
}
}
}
이 논리를 조금 살펴보겠습니다.
(0...10).random()
가 0
에서 10
범위 내의 숫자를 생성한다는 것을 알고 있습니다. 이것은 0
및 10
를 얻을 수 있음을 의미하는 포괄적인 범위입니다. *따라서 이 범위 내에 있는 숫자에 대해서만 일치해야 한다는 것을 알고 있습니다. * 이들은 두 그룹
1,2,3,4 ( 1..4 로 표현 )
5,6,7,8,9,10 (5..10으로 표현)
when
루프를 사용하여 간단하게 다시 작성하여 양쪽의 멤버십을 확인할 수 있습니다. In general, I find that
When
is more useful when you have more than two or three choices to make.
When
를 사용할 때 기억해야 할 몇 가지 유용한 속기 구문은 아래에서 볼 수 있습니다.먼저 위의 원래 예제를 다시 작성하여
,
구문을 활용해 보겠습니다. 이제 in
키워드를 사용하지 않습니다.import kotlin.random.Random
fun main(){
var controlling:Int;
for( i in 1..4){
println(i)
controlling = (0..10).random()
when(controlling){
0,1,2,3,4 -> println("$controlling is less than or equal to 4")
5,6,7,8,9,10 -> println("$controlling is greater than 4")
else -> println("Unsupported Number")
}
}
}
예 2. 여러 조건
사용자가 주어진 사용자 이름이나 암호를 기반으로 로그인할 수 있는지 확인하는 데 도움이 되는 짧은 스니펫을 작성해 보겠습니다.
Note : We could easily replace the following with an if-else loop if you prefer. Personally, I think this boils down to a matter of preference,
When
is just cleaner in general to me.
fun main(){
val correct_username = "john.smith"
val correct_password = "applebees"
val username_attempts = listOf(
"antique","john.smith","john.smith"
)
val password_attempts = listOf(
"applebees","apples","applebees"
)
for(i in 0..2){
when{
correct_password == password_attempts[i] && correct_username == username_attempts[i] -> println("Login Succesful")
correct_username != username_attempts[i] -> println("Wrong Username")
correct_password != password_attempts[i] -> println("Wrong Password")
else -> println("Horrible Attempt")
}
}
}
결론
Kotlin은 사용자 입력을 처리하고 코드에서 논리를 구현하는 데 도움이 되는 두 가지 유용한 구성을 제공합니다. 다음 기사에서는 루프를 사용하여 중복 코드를 줄이는 방법을 살펴보겠습니다!
Reference
이 문제에 관하여(파트 2: Kotlin을 사용한 제어 흐름), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ivanleomk/part-2-control-flow-with-kotlin-2lfh텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)