20. 새로 알게된 Flutter 지식 모음

Chocomilk·2021년 12월 20일
1
post-thumbnail

1. compile type 변수 선언

앱을 개발할때 테스트 환경에서 먼저 검수가 끝나고 난 이후 실제 배포버젼으로 환경으로 바꾸어 테스트를 한다. 이때, 검수하는 환경이 테스트 환경인지 배포환경인지 구분하기 위해 환경 변수를 직접 선언하여 사용할 수 있다.

ex) flutter run --dart-define=SOME_VAR=SOME_VALUE, --dart-define=ANY_VAR= ANY_VALUE

앱 내에서 사용할때는 다음과 같이 변수값을 불러 사용한다.

const A = String.fromEnvironment(SOME_VAR,defaultValue : 'AA');
당연한 말이겠지만 정의한 변수명값을 통해 해당 환경변수값을 불러올수 있다. 혹시나 해당 변수명으로 정의된 값이 없는 경우를 위해 defaultValue값을 지정할수 있다.

2. List의 여러가지 함수들

1) whereType<T> => list안에 여러가지 type의 데이터가 있는 경우, 특정 type만 따로 추출하여 가질 수 있다.
예시)
```
void main() {
var mixList = [1, "a", 2, "b", 3, "c", 4, "d"];
var num = mixList.whereType<int>();
print(num); // (1, 2, 3, 4)
}
```

2) any => list안에 제시한 조건을 만족하는 구성요소가 하나라도 있을 경우 true를 반환한다.
예시)

  void main() {
     var mixList = ["a","b","c","d"];
     print(mixList.any((e) => e.contains('a'))); //true
  }

3) every => list안에 모든 구성요소들이 제시한 조건을 만족하는 경우 true를 반환

  void main() {
     var mixList = ["a","b","c","d"];
     print(mixList.every((e) => e.contains('a'))); //false
  }

4) singleWhere => List 구성요소 중 제시한 조건을 부합하는 첫번째 요소를 반환한다.
만약 조건을 부합하는 구성요소가 2개 이상인 경우에는 error를 반환한다.
이때는 firstWhere를 사용해야 한다.

void main(){
var sList = [1, 2, 3, 3, 4];
	print(sList.singleWhere((i) => i == 3)); 
	// Bad state: Too many elements - 조건을 만족하는 3이 두개 이상 있기 때문

	print(sList.firstWhere((i) => i == 3)); // 3
}

참고 : list에 관한 함수 정리 모음 바로 가기

profile
어제보다 한 발짝 더 나아가려는 Flutter 개발자

0개의 댓글