본문 바로가기

DART

(3)
[Flutter] 소스코드 안의 긴 String을 깔끔하게 만드는 방법 오늘 Flutter로 작성한 소스 코드를 리팩토링하면서 긴 String을 만나게 되었다. 예전에 작성한 나의 앱에도 긴 String이 있는 경우가 있었는데, 소스코드 속에 넣어놓으니 상당히 지저분해보여서 정리하고 싶었던 기억이 있다. 일반적으로, 이용약관이나 개인정보처리방침 문자열 같은 것을 앱 소스코드 상에 포함시키는 경우에 이런 일이 자주 발생할 것 같다. 깔끔하게 만드는 방법을 알아보자. 1. 지저분한 코드 - Widget 클래스 내부에 static const 상수로 포함시키는 방식 일단 적당히 Widget 클래스 안에 static const 상수로 긴 스트링을 넣어놓은 모습이다. 스크린샷을 위해서 중간의 텍스트를 5~6줄 정도로 생략을 하였으나 원래는 100줄 이상되는 문자열이기 때문에 상당히 가..
Dart 언어의 타입 시스템 요약 Dart 언어는 타입 시스템을 가지고 있다. Dart 언어는 type safe하다. 이걸 다른 말로는 sound type system을 가지고 있다고 한다. Type system이 sound하다는 것은 expression이 static type과는 다른 type으로 evaluate되지 않는다는 것이다. (예를 들자면, a라는 변수가 정적 분석 때는 int라고 분석됐는데, 런타임에 String이라던지하는 상황) Dart는 sound type system을 만들기 위해서 static type checking과 runtime check를 수행한다. 모든 값들은 type을 가져야하지만, type annotation은 type inference가 있기 때문에 필수적이지는 않다. Sound type syste..
[Dart] Dart 언어의 Built-in types 관련 정리 최근 Flutter로 작업을 하다가 Type 관련하여 에러가 났는데, 이해가 부족한 부분이 있다고 느끼게 되어 작업을 완료한 후, 나름 한가해진 지금(?) Dart의 Type 관련하여 공부를 해보고자 한다. 1. Built-in types https://dart.dev/language/built-in-types 을 보고 정리한 내용이다. 읽으면서 흥미로운 부분만 언급하였다. 자세한 내용은 문서를 직접 보기를 바란다. - Numbers (int, double) - Strings (String) - Booleans (bool) - Records ((value1, value2)) - Lists (List, also known as arrays) - Sets (Set) - Maps (Map) - Runes (R..