플러터 환경에서 다트언어를 통해 어플리케이션을 개발하기 전에 문법을 익히고자 학습하였습니다.
새롭게 알게된 내용 위주로 적었습니다.
var 변수이름;
dynamic 변수이름;
var 와 dynamic 모두 변수타입을 알아서 적용함
var는 최초 값으로 타입이 고정되지만 dynamic은 타입이 고정되지 않음
final (변수타입) 변수이름
const (변수타입) 변수이름
둘 다 값을 바꿀수 없음
const는 빌드 초기에 값이 정해져야하지만 final은 그렇지 않아도 됨
변수 타입을 생략해도 var과 동일하게 적용함
String? 변수이름;
String 타입에 null을 허용함
String! 변수이름;
String 타입에 null을 허용하지않음
변수이름 ?? = 10;
해당 변수가 null 일경우 10을 넣음
'x : $x'
$를 통해 x라는 이름에 변수를 ' ~ ' 안에서 쓸수있게해줌
응용
'${x.value()}'
List<타입> 변수이름 = [값,값,값...];
Map<키 타입, 값 타입> 변수이름 = {
'키' : '값',
'키' : 값,
};
키를 통해 값을 찾을수 있음, 키와 값이 쌍을 이루는 타입
Set<타입> 변수이름 = {
값,
값,
값,
};
중복된 값을 자동으로 제거해주는 타입
enum 이름 {
이름,
이름,
이름,
}
한정된 값이 있을때 명시적으로 사용하기 좋음
for(int number in numbers)
for문에서 numbers 안에 요소를 number에 하나씩 받게 가능
continue;
현재의 반복문을 넘어감
함수에서 없어도 되는 매개변수(파라미터) 선언
함수이름(int x, [int y = 기본값, int z = 기본값])
{ 내용 }
[ ] 안에 매개변수는 필수가 아님
함수에서 순서가 상관없는 파라미터 선언
(반환타입 void 일시 생략 가능) 함수이름(
{
required 변수타입 x,
required 변수타입 y,
}
)
{내용}
함수이름(x: 10,y: 20)
화살표 함수(arrow function)
int addNumbers(int x,
{
required int y,
int z = 30,
}) => x + y + z;
=> 반환되는 값
typedef Operation = int Function(int x, int y, int z);
* 반환 타입과 매개변수 형태가 같음 함수를 집어넣을수 있음
ex)
int add(int x, int y, int z) => x + y + z;
int calculate(int x, int y, int z, Operation operation) => operation(x,y,z);
calculate(10,20,30,add);
다트 언어의 경우 클래스 = (new) 클래스();
형태에서 new를 생략이 가능하다.
생성자(this.변수이름,this.변수이름);
형태로 선언시 생성시 바로 해당변수에 값이 들어간다.
클래스.fromList(List value)
: this.members = values[0],
this.name = values[1];
형태로 생성자의 매개변수를 다양하게 만들어줄수있음
생성자를 const로 만들어줄시 두 클래스 내용이 같으면 클래스a == 클래스b는 True가 나옴
getter/setter
반환 타입 get 이름{ retun 반환 값};
(void) set 이름 {this.이름};
print(클래스.이름) /getter
클래스.이름 = 값 /setter
private
ex) class _이름
상속
class 클래스a extends 클래스b{
클래스a(
String name,int memberCount,):
super(
name: name,
memberCount: memberCount,
}
static
instance에 귀속되지 않고 class에 귀속된다.
인터페이스(interface)
dart 언어에서는 클래스를 사용함
클래스 이름 implements 인터페이스이름
인터페이스에 인스턴스화를 막기위한 키워드
abstract class 인터페이스이름
{
내용
}
class 이름<T>{
final T id;
이름(this.id);
}
이름<String> 이름_ = 이름('123');
generic - 타입을 외부에서 받을 때 사용
파이썬 중급(인프런) 학습 내용 정리 (0) | 2023.07.08 |
---|---|
javascript var, const, let 차이점 +(클로저) (0) | 2023.01.19 |
SQL 관련 학습 (0) | 2023.01.03 |
댓글 영역