티스토리 뷰
| 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 > Flutter & Dart' 카테고리의 다른 글
[Dart]_total (0) | 2023.01.08 |
---|---|
[Dart_02]데이터타입/List/collection if/String Interpolation/collection for/Maps/Sets (0) | 2023.01.08 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 외부구성요소
- html layout
- scanner
- A%B
- css
- BAEKJOON
- html pre
- ScriptTag
- typeof
- input type 종류
- border-spacing
- CascadingStyleSheet
- Java
- JavaScript
- initialized
- 스크립태그
- 미디어 태그
- html atrribute
- improt
- html a tag
- selcetor
- html
- caption-side
- html base tag
- 입력양식
- html input type
- 기본선택자
- text formatting
- 변수
- empty-cell
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함