다트(Dart) : 자료형(Type) / 변수(Variable)

#dart #자료형 # 변수
홍정환's avatar
Jul 29, 2024
다트(Dart) : 자료형(Type) / 변수(Variable)

기본자료형

var 자료형

  • 특정 자료형이 아니다.
  • 여러가지 자료형을 사용할 수 있다.
notion image
 
  • 하지만 중간에 자료형을 변환할 수 없다.
  • name변수에 “lee’s” 라는 string 값을 넣어주었을때는 에러가 없지만
  • 그 다음 1 이라는 int 값을 넣었을때 에러가 발생한다.
notion image
 

dynamic 자료형

  • dynamic : var과 비슷하지만 차이점은 여러가지 형으로 변경이 가능
  • var는 처음 선언할때 형이 정해지면 나중에 변경이 안됨
  • name이라는 dynamic 변수에 처음에는 string형으로 나중에는 int형으로 값을 넣어도 에러가 없다.
notion image
 

String 자료형

  • String : 문자형
notion image
 

int 자료형

  • int : 정수형
notion image
 

double 자료형

  • double : 실수형, 소수점이 들어가는 숫자
notion image
 

bool 자료형

  • bool : Boolean형(true, false)
notion image
 

DateTime 자료형

  • DateTime : 날짜 및 시간
  • DateTime.now() : 현재시간을 반환하는 함수
  • DateTime형을 선언할 때 final은 사용할 수 있지만, const는 사용할 수 없다.
  • DateTime.now()는 runtime때 값이 결정된다.
notion image
 
💡
final과 달리 const는 실행시에 값이 결정되어 있어야 하는데, DateTime.now()는 실행시키는 시점이 아니라, 실행되는 중간에 값이 결정되기 때문에 아래처럼 에러 발생, 주의 필요
notion image
 
 

컬렉션 자료형

  • 컬렉션은 여러 값을 하나의 변수에 저장할 수 있는 타입
  • List : 여러값을 순서대로 저장
  • Map : 특정 키값을 기반으로 빠르게 값을 검색
  • Set : 중복된 데이터 제가할 때 사용
  • 컬렉션 타입은 서로의 타입으로 자유롭게 형변환이 가능하다는 매우 큰 장점이 있다.
 
 
🤖
리스트(List) 자료형
🙀
Map 자료형
🤣
Set 자료형
 

 
 

변수 선언 방법

  • 일반적 선언방법
  • 자료형 변수명 = 값;
notion image
 

nullable / non-nullable

  • nullable : null값이 포함될 수 있는 자료형
  • non-nullable : null값이 포함될 수 없는 자료형
  • 모든 자료형은 기본적으로 non-nullable이다. 아래 예를보면 name변수에 null값을 지정시 에러 발생
notion image
  • ? : non-nullable → nullable 전환 : 자료형 선언시 “?”를 붙이면 된다.
  • 아래 예와 같이 name변수 선언시 자료형 끝에 “?”를 붙여주면 name변수에 Null을 입력해도 에러가 나지 않는다.
notion image
  • ! : nullable → non-nullable 지정(명시)
  • nullable 변수이더라도, 중간에 “!”를 붙여주면 Null 입력 못하게 지정
  • 아래와 같이 nullable 변수 name을 name!으로 print해보면 현재 null값이 들어 있어 에러 발생
notion image
 

final / const

  • 공통점 : 값을 한번 선언하면 더이상 변경할 수 없다.
notion image
  • 변수형을 생략할 수 있어 var의 역할까지 한다.
notion image
  • 차이점 : final은 빌드타임에 값을 몰라도 된다.
    • const는 빌드타임에 값을 알아야 한다.
notion image
  • DateTime : 날짜형, final은 선언시에 명확한 값을 몰라도 사용가능, 위 예제에서 DateTime.now()는 런타임시에 생성되므로 값이 지정되지 않았으나 final 사용 가능,
  • const는 데이터 선언시에 값이 명확해야되므로, DateTime.now()사용 불가
 

String내에서 변수사용 : ${변수}

  • Python의 fstring과 비슷
  • 사용하는 방법 : ${변수}, ${변수.함수}, $변수
  • 변수에 dot(.)을 사용하려면 {} 중괄호를 반드시 써야 한다.
  • dot(.)을 이용하지 않으면 중괄호 생략 가능하다.
notion image
 
 
 
Share article

개발자의 일상