티스토리 뷰

TOTAL/Flutter & Dart

[Dart_01]변수

onlyun 2023. 1. 8. 21:50

 

| TOOL

-온라인 : https://dartpad.dev/? 

-vscode : flutter extension

-flutter & dart

 

| 변수

-variable, dynamic, final, late, Constant Variables

variable dynamic final late Constant 
보통 지역변수, 함수
안에서 사용
어떤 데이터가 들어올지 모른다는 것      

 

1) 변수 variable

//데이터타입(String, int...) 또는 var 이용해 선언 가능. 업데이트 가능.

void main(){
//class 변수 또는 속성 선언 시, 타입 설정 필요. int, String ...
String name = 'soyun';
//지역변수 등은 타입 지정 안해줘도 알아서 맞춤. var
var name = 'sy'; 

//변수 업데이트
 name = 'soyun'; // 변수 업데이터
 name = 1; // error : type
}

 

2) 변수 dynamic

void main(){
//dynamic : 여러가지 타입을 가질 수 있는 변수 키워드
 var name;
 dynamic str;  
  name = 'sy';
  name = 12;
  name = true;
  
  if(name is int) {
  	name.
  }
  
  if(str is String) {
    //수많은 자동옵션. 다이나믹이 name이 String이란 걸 dart가 알기 때문에
    str.isEmpty;
  }
}

 

3) null safety(null 안정성)

-개발자가 null값을 참조할 수 없도록 하는 것

-null을 참조할 때, 런타임에러(앱 사용 중 발생하는 에러. 컴파일러가 못 잡아줌)

// 변수는 non-nullable(null될 수 없음)

void main(){
//null일수 있음
  String? ni = 'nico';
  ni = null;

  //null 아닐 때, isNotEmpty 요청
  if (ni != null){
    ni.isNotEmpty;
  }
  
  ni?.isNotEmpty;
}

 

4) 변수 fnal vs Constant Variables

-둘 다 값 변경 불가
-const : 컴파일 시점에 값을 가지고 있어야 함. 컴파일 전에 명시해놓은 값
-final : 컴파일 이후에 값을 할당 불가. 앱 실행 후, 이름이나 전화번호 입력해서 값 할당하는 것

//수정할 수 없는 변수
void main(){
 final name = 'soyun';
 name = 'quu'; -- error
}

//constant variable
void main(){
  //constant 상수 != javscript, timescript
  //const : compile-time constant. 컴파일 시 알고 있는 값
  // 앱에 담긴 코드를 앱스토어에 보내기 전!
  
  //컴파일 시점 바뀌지 않는 값
  const max_price = 120;
  
  //컴파일 시점, 바뀌는 값 : final, var
  final username = fetchAPI();
}

 

5) Late Vaiables

//flutter로 data fetching 시 유용
//api로 데이터를 받아와 변수에 할당할 때, 유용
void main(){
  //변수 선언, 데이터 할당은 추후
  late final String name;
  
  print(name); //error
  name = 'data';
  print(name);
}

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함