답변:
val a: A = _
컴파일 오류입니다. 예를 들면 :
scala> val a: String = _
<console>:1: error: unbound placeholder parameter
val a: String = _
^
작동하는 것은 무엇입니까 var a: A = _
( var
대신 참고 val
). Chuck이 대답에서 말했듯이 이것은 변수를 기본값으로 초기화합니다. Scala 언어 사양에서 :
T가 Int 또는 하위 범위 유형 중 하나이면 0,
T가 Long이면 0L,
T가 Float이면 0.0f,
T가 Double이면 0.0d,
T가 부울이면 false,
() T가 단위이면 false,
다른 모든 유형의 경우 null 티.
val
있습니까?
val a: Int = _
작동한다면 나쁜 습관이 될 것이기 때문에 아마도 컴파일 오류 일 것입니다. 그것은 단지 난독 화 된 글쓰기 방식 일뿐 val a: Int = 0
입니다. var
a var
가 변경 될 것으로 예상 되므로 a를 기본값으로 설정하는 것이 합리적 이지만 a val
는 고정되어 있으므로 값을 명시 적으로 할당하는 것이 좋습니다.
a
유형의 기본값으로 초기화 됩니다 A
. 예를 들어 Int의 기본값은 0이고 참조 유형의 기본값은 null입니다.
NotNull
특성 이 혼합 된 클래스의 기본값은 무엇입니까 ? :-)
_
나은 것 같다 NotNull
.