dart (flutter) 문법 - ! (느낌표, exclamation mark)
// 리턴값이 항상 null이 아니지만 예를 위한 함수.
// int? 는 getInt()가 null을 리턴할 수 있다고 명시해 준다.
int? getInt() { return 3; }
void main() {
// int? 는 변수에 null을 허용하는 표현.
int? a = getInt();
// ERROE int b 는 null을 허용하지 않는데
// getInt()는 null을 리턴할 수도 있으므로 에러가 난다.
//int b = getInt();
// getInt()! 에서 null을 리턴하지 않는다고
// getInt()의 끝에 !를 명시해 에러가 나지 않는다.
int c = getInt()!;
}
null 에러가 많이 나서 이런 기능을 추가 했다고 하는데
그다지 좋은 해결법이 아닌거 같다.
!를 붙여도 에러가 날 수 있는 구멍이 많다.
댓글
댓글 쓰기