몰랐던 내용 또는 한번 더 정리하고 싶은 내용들만 작성했다.
Main Function
- 모든 dart프로그램의 entry point임
- 모든 코드에 main함수가 있어야 함.
- js나 ts는 auto formatter가 ;를 삽입해주지만, dart는 안해줌
- 이유: 다트에서는 일부러 세미콜론을 안쓸때가 있기 때문이다.
- 어쩐지.....안되더라...익스텐션때문인줄로만알았는데 아니었어..다트의 cascade operator 기능 때문이라고 함
The Var Keyword
- 다트에서 변수를 만드는 방법 1: var 키워드 사용하기
- 컴파일러가 어차피 그 변수가 String인 것을 앎
void main(){
var name = '지니'; // dart가 자료형을 추측해서 지정해줌
name = 1; // 안됨. 변수를 수정할 때는 같은 타입으로 해줘야 함
}
- 방법 2: 명시적으로 변수 타입 지정하기(변수에 넣을 데이터의 타입 이름 사용)
void main(){
String name = '지니';
name = '지녕';
}
- 두 방법 모두 '변수'선언이므로 추후 업데이트가 가능하다.
- 관습적으로(by dart style guide):
- 함수나 메소드 내부에 지역 변수를 선언할 때 var를 사용하고
- class에서 변수나 property를 선언할 때에는 타입을 지정해줌
Dynamic Type
- dynamic은 여러가지 타입을 가질 수 있는 변수에 쓰는 키워드이다.
- 이걸 사용하는게 추천되지는 않지만, 때때로 아주 유용하고, 어쩔 때는 이것밖에 못쓰는 경우도 있음
- 정말 필요할 때만 !! 써야 함
- 사용 예)
void main(){
var name; // 여기서 name변수의 type은 dynamic이 된 것임
// 위와 같은 원리로 dynamic name; 이라고 써줘도 동일한 표현
name = '지녕';
name = 12;
name = true; // 전부 가능
}
- 이걸 왜 쓰나?
- 변수가 어떤 타입인지 알기 어려운 경우
- 가끔 dynamic을 써서 좀 돌아가는 식으로 접근하는게 더 유용할 때가 있음
- flutter와 json이용해서 작업할때 많이 사용
- 예) 인터넷으로 json데이터를 받았을 때 그것의 type을 모르면 dynamic을 이용해서 dart가 데이터타입을 확인하게 할 수 있다.
- 이것처럼 확인가능... 각 자료형마다 쓸 수 있는 함수도 엄청 많음
근데 레이아웃 왜 이모양이지....티스토리.. ^^
Nullable Variables
이전에 발행했던 글 참고!
2023.01.18 - [Flutter] - [Flutter] Constructor, Null Safety
[Flutter] Constructor, Null Safety
Dart는 Typed Language이다. 어떤 하나의 인스턴스의 type은 그것의 클래스이다. Constructor 이해하기 다트의 생성자는 자바언어와 똑같은 개념이다. 인스턴스를 초기화하기 위해 사용되는 메소드이고,
jinyshin.tistory.com
'💬 Programming Language' 카테고리의 다른 글
[Dart] #3 FUNCTIONS: Definition, Parameters, QQ, Typedef (0) | 2023.01.22 |
---|---|
[Dart] #2 DATA TYPES: List, String Interpolation, Collection For, Maps, Sets (0) | 2023.01.21 |
[Dart] #1 VARIABLES(2): Final, Late, Constant (0) | 2023.01.21 |
[Dart] Constructor, Null Safety (0) | 2023.01.18 |