수색…


기본 If 표현식

스칼라에서 (자바 및 대부분의 다른 언어와 달리), if 대신 표현식 입니다. 그럼에도 불구하고 구문은 동일합니다.

if(x < 1984) {
   println("Good times")
} else if(x == 1984) {
   println("The Orwellian Future begins")
} else {
   println("Poor guy...")
}

의 의미 if 표현되고는 변수에 식의 evalation의 결과를 할당 할 수 있습니다 :

val result = if(x > 0) "Greater than 0" else "Less than or equals 0"
\\ result: String = Greater than 0

위의 if 표현식이 평가되고 result 가 결과 값으로 설정되는 것을 볼 수 있습니다.

if 표현식의 리턴 유형은 모든 논리 분기의 상위 유형 입니다. 즉,이 예제의 경우 반환 유형은 String 입니다. 표현식이 else 분기 논리가없는 if 문과 같은 값을 반환하는 if 모두가 아니므로 반환 유형이 Any .

val result = if(x > 0) "Greater than 0"
// result: Any = Greater than 0

논리 분기 내에서 println 과 같은 부작용 만 사용되는 경우와 같이 값을 반환 할 수없는 경우 반환 유형은 Unit :

val result = if(x > 0) println("Greater than 0")
// result: Unit = ()

스칼라의 표현식이 Java 함수의 삼항 연산자 와 비슷한 if 이 유사성 때문에 Scala에는 이러한 연산자가 없습니다. 중복 될 수 있습니다.

내용이 단일 행이면 if 표현식에서 중괄호를 생략 할 수 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow