본문 바로가기

개발해보겡/Flutter11

Dart ?? QQ Operator QQ operator는 다음과 같은 코드를 더욱 간단하게 만들어 줍니다. String UpperString(String? word) { // 1. if 문 if (word != null) { return word.toUpperCase(); } // 2. 삼항연산자 return word != null ? word.toUpperCase() : ''; } UpperString() 함수에 전달된 값이 null이 아닐 때 toUpperCase() 메소드를 실행하는 코드입니다. String UpperString(String? word) { return word?.toUpperCase() ?? ''; } word가 null이 아니면 toUpperCase() 메소드를 실행하고 아니면 빈 문자열을 반환합니다. Strin.. 2023. 1. 3.
Dart named parameter & positional parameter 처음 함수를 접해서 함수를 사용하는 방법은 다음과 같습니다. String intro( String name, int age, String address, ) { return "My name is $name, I'm $age and in $address"; } void main() { print( intro( 'name', 20, 'Seocho-gu', ), ); } 형식 매개변수와 실매개변수의 위치가 같아야 합니다. 매개변수가 몇 개 되지 않는다면 괜찮겠지만 매개변수가 많아진다면 모든 인자의 위치를 맞추는 것은 번거롭습니다. positional parameter보다는 named parameter를 사용하는 것이 좋습니다. named parameter를 사용하기 위한 몇 가지 수정 사항이 있습니다. Str.. 2023. 1. 2.
Dart final & const & late 차이 Dart에서 final과 const는 똑같아 보이면서도 다른 차이가 있습니다. 공통점은 한 번 변수에 값을 할당하면 변경할 수 없다는 점입니다. void main() { final name = 'name'; // The final variable 'name' can only be set once. name = 'nickname'; // 오류 const nickname = 'nickname'; // Constant variables can't be assigned a value. nickname = 'name'; // 오류 } 차이점은 final의 경우 Runtime에 값이 할당될 수 있다는 것이고 const의 경우 Compile Time Constant로 선언과 동시에 초기화되어야 한다는 것입니다. vo.. 2023. 1. 1.
Dart NoSuchMethodError & Null Safety & non-nullable 이해하기 다음 문서를 참조함 https://dart.dev/null-safety/understanding-null-safety Understanding null safety A deep dive into Dart language and library changes related to null safety. dart.dev // Without null safety: bool isEmpty(String string) => string.length == 0; main() { isEmpty(null); } 위의 dart 코드를 실행하면 length메서드 호출에서 NoSuchMethodError 예외가 발생합니다. NoSuchMethodError 는 런타임 시점에 존재하지 않는 메서드를 호출하는 경우에 발생합니다. isE.. 2022. 12. 31.