귀찮으면 온라인 도구 dartpad 사용 https://dartpad.dev/
출력함수는 print()
주석은 //
세미콜론 찍어야된다.
네이밍 컨벤션 : https://couldi.tistory.com/31
코드쪼가리로 대충 써놓은건 void main() {}
의 바디 안에 썼다고 치자
변수 함수는 카멜 케이스가 국룰이라고 한다
클래스는 파스칼 케이스가 국룰이라고 한다
var vs = 'wjlee'; // 스트링이다
print(vs.runtimeType); // 타입확인
var vi = 20; // 숫자다
String s = 'wj'; // 스트링이다
int i = 42; // int다
int? nullable_i = null; // 널이 들어간다
int normal_i = null; // 컴파일에러
final String fs = '하하못바꾸지';
fs = 'quelque chose'; // 컴파일에러
dynamic d = 1;
d = 'one';
d = true;
d = 4.2;
print(d);
String s1 = 'france';
String s2 = 'epita';
print(s1 + " has " + s2); // 이거 된다
print('$s1 has $s2'); //이거 된다
print('I was in ${s2 * 10}'); // 익스프레션도 된다.
var arr = s2.split('i');
print(arr);
문자열 비교는 그냥 하면 됨.
print('cisco' == 'cisco'); // true
print('bonne nuit' == 'cisco'); // false
int, double.
to<타입>
메소드 있음.
/
나누기 연산 하면 소수로 나옴~/
나누기 연산하면 정수로 결과 나옴bool.
true or false.
List<T>
[elem1, elem2, ..., elem-n]
그거 맞다.
List<int> l = [4, 2, 42]; // int말고 다른거 넣으면 컴파일에러
print(l[2]); // 42
print(l.length); // 3
l.add(4242);
l.remove(4);
l.removeAt(0);
다이나믹 타입 리스트
list<dynamic> l = [42, '42', 'fourtytwo'];
딕셔너리임
Map<KT, VT>
순서대로 키 타입, 밸류 타입.
Map<String, int> m = {
'height' : 200,
'gpa' : 4,
};
print(m['height']); // 200
m['height'] = 180;
m['new-one'] = 42424242;
m.remove('gpa');
// if
if () {
} else if () {
} else {
}
// for
for (int i = 0; i < 42; i++) {
print('Ca va?');
}
// for in
List<String> l = ['4', '2'];
for (String s in l) {
print(s);
}
main() {
var res = pardon(10);
print(res);
// 이름지정 매개변수
bonjour(gender: 'madame', isFriend: false);
}
String pardon(int howMuch) {
return 'pardon'*howMuch;
}
// {}안의 매개변수는 필수값이 아님. 필수로 만들려면 required 붙이면 됨.
void bonjour({String? gender, required bool isFriend}){
if(isFriend)
print('salut');
else
print('bonjour');
print('\t$gender');
}
main() {
Language L = Language(['a', 'b', 'c']);
Python P = Python(['for', 'if', 'return'], 'python', 'super');
L.sayFirstAlphabets(2);
print(P.getInfo());
}
class Language {
List<String> alphabet = [];
//생성자
Language(List<String> alphabet) {
this.alphabet = alphabet;
}
//메소드
sayFirstAlphabets(int length) {
String s = '';
for (int i = 0; i < length; i++) s += alphabet[i];
print(s);
}
}
// 상속
// 자식이 부모의 생성자를 상속받지는 않는다.
class Python extends Language {
String name = '';
String description = '';
// 생성자가 변수초기화만 하면 이렇게 써도 된다.
Python(super.alphabet, this.name, this.description);
getInfo() {
Map<String, dynamic> m = {
'name': name,
'description': description,
'alphabets': super.alphabet,
};
return m;
}
}
It's a useful content summarized by you for Flutter beginners!