* 변수 : 모든 변수들이 Calss 안에 있을 필요는 없다!!
var name = 'Voyager I';
var year = 1977;
var antennaDiameter = 3.7;
var flybyObjects = ['Jupiter', 'Saturn', 'Uranus', 'Neptune'];
var image = {
'tags': ['saturn'],
'url': '//path/to/saturn.jpg'
};
class TestCalss {
var fruit = "apple";
var num = 5;
var sub_fruit = ['banana', "orange"];
}
void main() {
print(name);
print(year);
print(antennaDiameter);
print(flybyObjects); //LIST
print(flybyObjects[0]);
print(image); //MAP
print(image['tags']);
TestCalss tc = TestCalss();
print(tc.fruit + " : " + tc.num.toString() + ", " + tc.sub_fruit.toString());
}
//결과
Voyager I
1977
3.7
[Jupiter, Saturn, Uranus, Neptune]
Jupiter
{tags: [saturn], url: //path/to/saturn.jpg}
[saturn]
apple : 5, [banana, orange]
* 조건문, 반복문
var name = 'Voyager I';
var year = 1977;
var antennaDiameter = 3.7;
var flybyObjects = ['Jupiter', 'Saturn', 'Uranus', 'Neptune'];
var image = {
'tags': ['saturn'],
'url': '//path/to/saturn.jpg'
};
void main() {
if (year >= 2001) {
print('21st century');
} else if (year >= 1901) {
print('20th century');
}
var index = 0;
for (var elem in flybyObjects) {
print("[" + index.toString() + "] " + elem);
index++;
}
var monthStr = "";
for (var month = 1; month <= 12; month++) {
monthStr += month.toString() + " ";
}
print(monthStr);
while (year < 2016) {
year += 3;
print(year);
}
}
//결과
20th century
[0] Jupiter
[1] Saturn
[2] Uranus
[3] Neptune
1 2 3 4 5 6 7 8 9 10 11 12
1980
1983
1986
1989
1992
1995
1998
2001
2004
2007
2010
2013
2016
* 함수 : Dart는 타입 명시해도 되고 안해도 된다. 타입 추론이 가능하여 var 변수 선언이 가능하다!!
int fibonacci(int n) {
return n * 10;
}
void main() {
var result = fibonacci(20);
print(result);
}
//타입 생략
fibonacci(int n) {
return n * 10;
}
void main() {
var result = fibonacci(20);
print(result);
}
//결과
200
* 화살표 함수
- forEach 함수는 리스트 각 요소에 f함수를 실행시킴.
- where 함수는 각 요소를 elem으로 칭하고, elem에 'turn'이 포함되어 있는 요소를 골라 forEach 실행.
var flybyObjects = ['Jupiter', 'Saturn', 'Uranus', 'Neptune'];
var result = '';
void f(String s) {
result = result + s + ' ';
}
//void forEach(void Function(String) f)
//forEach : Applies the function [f] to each element of this collection in iteration order.
//Iterable<String> where(bool Function(String) test)
//where : Returns a new lazy [Iterable] with all elements that satisfy the predicate [test].
void main() {
flybyObjects.forEach(f);
print(result);
flybyObjects.where((elem) => elem.contains('turn')).forEach(print);
}
//결과
Jupiter Saturn Uranus Neptune
Saturn
* 주석 : java 와 같음
같이 보면 좋은 다른 포스팅
https://cording-cossk3.tistory.com/82
https://cording-cossk3.tistory.com/83
https://cording-cossk3.tistory.com/84
https://cording-cossk3.tistory.com/85
https://cording-cossk3.tistory.com/86
320x100
'프로그래밍 > Flutter-Dart' 카테고리의 다른 글
[Flutter] Dart 문법 (async, Future, await, then) (0) | 2021.03.15 |
---|---|
[Flutter] Dart 문법 (abstract, implement) (0) | 2021.03.15 |
[Flutter] Dart 문법 (상속) (0) | 2021.03.15 |
[Flutter] Dart 문법 (class, ?, !, ?.) (0) | 2021.03.15 |
[Flutter] flutter 윈도우 설치 (0) | 2021.03.15 |
댓글