DART

    [플러터/다트] where 함수 (JS의 Filter)

    [플러터/다트] where 함수 (JS의 Filter)

    Filter 자바스크립트의 배열 타입의 변수에서 Filter()를 사용하곤한다. 하지만 왜 다트에는 없을까? 찾아보았더니 where이라는 함수가 이를 대신하고 있다. 보시다시피 파생 함수가 많은데 메인 동작은 동일하고 함수명으로 차이점을 대략 유추할 수 있다. Where where의 주요 동작은 자바스크립트의 filter와 같이 각 요소들을 조건으로 걸러 새로운 배열을 만드는 함수이다. 조금 다른 점이 있다면 index 값을 제공해주지 않는다. 아래는 배열의 요소 중 짝수만을 골라 새로운 배열을 생성하는 예시이다. where은 return 값이 배열이므로 기존 배열을 수정하길 원하면 retainWhere을 사용해야한다. List list = [...] List evenNumbers = list.where..

    [플러터/다트] 메모리 주소로 전달되는 List

    [플러터/다트] 메모리 주소로 전달되는 List

    Dart의 List는 매개변수, '= '등 으로 전달시 메모리 주소 값으로 전달되어 이름이 다르더라도 한 곳에서 요소를 변경하면 모두 다 변경된다. 예제1 void main() { List pointer = [1,2,3]; myClass myclass = myClass(pointer); myclass.reverse(); print(pointer.toString()); } class myClass{ myClass(this.pointer); List pointer; void reverse(){ for(int i =0; i

    [플러터/다트] 열거 타입 enum

    C와 Java에서도 볼 수 있는 enum이 dart에도 존재한다. 사용 방법도 더 편리하게 제공되고 있다. enum enum은 상수 열거형이라고 하며 C언어의 #define과 흡사한 개념이나, 특정 상황에서 사용되는 것들끼리 묶어놓은 것이라고 할 수 있다. 예를 들어 로딩 상태를 나타낼 때 prepare, loading, complete의 상태를 가질 수 있다. 이러한 상태를 조건문 등에 이용하기 위해 0, 1, 2를 사용하곤 했다. 이렇게 상수로 지정해놓을 경우 코드의 가독성이 떨어지게 되는데 이 때 enum을 사용할 수 있다. 정의 enum LoadingState { prepare = 0, loading, complete } dart에서 enum은 위와 같이 정의할 수 있다. 첫글자에는 대문자를 사용..