Dart 기초문법

이주희·2022년 1월 28일
0

Android Studio

목록 보기
2/3

대부분은 C언어와 비슷하다고 느꼈다.
몰랐던 새로운 점만 정리해놓았다

변수

  • num
    int와 double 타입 둘다 대입할 수 있는 타입
  • var
    타입을 직접 명시하지는 않고 추론한다 (이 방식을 많이 사용한다고 함)

타입 검사 (is, !is 키워드)

if(a is int){
print('정수');
	}

같은 타입이면 true를 리턴하고, 다른 타입이면 false를 리턴해준다.

문자열

String name='홍길동';
print('내 이름은 $name 입니다');

변수 앞에 $기호를 붙여 문자열 내에 변수 삽입이 가능하다.

클래스

  • 접근지정자 '_'

변수 이름 앞에 '_'를 붙이면 해당 클래스가 정의되지않은 다른 파일에서의 접근이 불가능하다.

  • 생성자
class Person{
	String name;
    int _age;
    
    Person({this.name,this._age});
}

위의 방식으로 간단하게 생성자를 만들 수 있다.

var p = Person(name:'홍길동', _age:15);

변수 생성 방식이다.

  • 게터 세터
    앞에 _가 붙은 변수는 외부 접근이 안되므로 필수적으로 만들어주어야 한다.
int get age => _age;

컬렉션

  • List
    배열대신 사용함
    순서가 있는 자료를 담는 컬렉션
List<String> items = ['A','B','C'];
List<dynamic> items2 = ['A',5]; //여러 타입을 한 리스트에 넣을 수 있음
List<String> items3 = ['D',...items]; //... 로 컬렉션 안에 컬렉션을 넣을 수 있다.
  • Set
    중복 제거하는 자료구조(C++와 동일)
    add로 추가, remove로 제거
    set.contains() 로 찾기
  • Map
    해시 만들 때 이용가능
var map = {
	'A' = 1,
    'B' = 2,
    'C' = 3
};

없다면 null 리턴한다.

함수

void func(String s){
	print(s);
}

void main(){
	var f = func;
    f('hello');
}

함수의 인수로 함수 자체 전달이 가능하다.

void func(Function(int i)f){
	f(10);
}

void main(){
	func((value){
    	print(value);
    });
}

forEach()

items.forEach(print);

반복문처럼 보이지 않지만 내부 반복을 통해 리스트 안의 아이템을 각각 출력해준다.

여러 함수들

  • where
    조건 필터링 함수
items.where((e)=>e%2==0).forEach(print);
  • map
    값을 원하는 형태로 변환
items.where((e)=>e%2==0).map((e)=>'숫자 $e').forEach(print);
  • toList, toSet
    간단하게 컬렉션으로 변환

  • any
    충족하는 요소가 있는지 검사할때 이용

print(items.any((e)=>e%2==0));

0개의 댓글