2022. 9. 28. 19:59ㆍ개인공부/Flutter
enum Status{
approved,
pending,
rejected,
}
void main() {
Status status = Status.pending;
if(status == Status.approved){
}
final DateTime now = DateTime.now();
print(now);
// const DateTime now2 = DateTime.now();
//const 는 빌드 타임의 값을 알아야한다
//final 은 빌드 타임 값 몰라도 된다.
/* build 할때 010101 이진수로 변환이 되는데
*Run을 누를때 빌드가 된다. 이것이 빌드타임.
*작성하고있을때의 코드값을 알고있어야 한다.
*그래서 const는 언제 선언될지 모르니까 date 값에 const를
붙이면 오류가 난다는것.
*/
// number ??= 3.0
// ??= 넘버가 만약 null 이라면 오른쪽 값으로 바꿔라
int number1 = 1;
print(number1 is int);
print(number1 is String);
// is 는 == boolean 값 나옴.
// is! 는 != boolean 값 나옴.
bool result = 12 > 10;
// && 는 and 의 의미. 두 조건 다 true 여야 true.
// || 는 or 의 의미. 둘 중 하나라도 true면 true.
//list
//리스트 타입
List<String> blackpink = ['제니', '지수', '리사', '로제'];
// List<String>타입의 리스트.
print(blackpink);
// idnex
// 순서
print(blackpink[0]);
// 0번째 배열인 제니 소환
blackpink.add('김갑수');
// 블랙핑크 배열에 '김갑수' 추가
blackpink.remove('김갑수');
// 블랙핑크 배열에 '김갑수' 빼기
print(blackpink.indexOf('로제'));
// 로제의 배열 순번
//Map
// key / Value 값으로 짝을 이룬다.
Map<String,String> dictionary = { // 키타입, 밸류 타입
'Harry porter' : '해리포터',
'Ron Weasley' : '론 위즐리',
'Hermione Granger' : '헐마이니'
};
print(dictionary);
Map<String, bool> isHarryPotter={
'Harry porter' : true,
'Ron Weasley' : true,
'Ironman' : false
};
print(isHarryPotter);
isHarryPotter.addAll({
'Spiderman' : false
});
// isHarryPotter 변수에 Spiderman 추가
print(isHarryPotter['Ironman']);
// 원하는 key의 값을 가져올수 있음
// key Ironman의 value인 false가 나옴.
isHarryPotter['Hulk'] = false;
// isHarryPotter.addAll ({ 'Hulk': false}); 와 같음.
isHarryPotter['Spiderman'] = true;
// false 였던 값을 true로 바꿀수 있음.
isHarryPotter.remove('Harry Ptter');
// 해리포터가 지워짐.
print(isHarryPotter.keys);
// key값만 모두 가져오는 것.
print(isHarryPotter.values);
// value값만 모두 가져오는 것
//Set
// Key와 Value의 짝이 아니라 리스트처럼 나열됨
// 하지만 List는 중복값 들어가지만 Set에는 안들어감
final Set<String> names = {
'Code Factory',
'Flutter',
'Blackpink',
'Flutter'
};
print(names);
// Flutter 가 두개 들어갔으니 하나만 나옴.
names.add('Jenny');
//제니 추가
names.remove('Jenny');
//제니 빼기
print(names.contains('Flutter'));
//Flutter가 들어가있으면 true, 없으면 False
//if 문
int total = 0;
List<int> numbers = [1,2,3,4,5,6];
for(int i =0; i< numbers.length; i++){
total += numbers[i];
} // 21
print(total);
for (int number in numbers){
total += number;
} // 21
//while loop
while(total < 10){
total += 1;
};
}
//named parameter - 이름이 있는 파라미터 (순서가 중요하지 않다.)
void addNumbers({ //int로 값을 돌려준다 //void는 값을 돌려주지 않는다.
int x = 10,
int y = 20,
int z = 30
}) {
int sum = x + y + z;
print('x : $x');
print('x : $y');
print('x : $z');
if (sum % 2 == 0){
print("짝수입니다.");
} else{
print('홀수입니다.');
}
}
//arrow 함수
// =>
void main(){
Operation operation = add;
int result = operation(10,20,30);
print(result);
operation = subtract;
int result2 = operation(10,20,30);
print(result2);
}
int result3 = calculate(30,40,50, add);
print(result3);
// signature
typedef Operation = int Function(int x, int y, int z);
// 더하기
int add (int x, int y, int z) => x + y + z;
// 빼기
int subtract(int x, int y, int z) => x -y -z;
// 계산
int calcultate (int x, int y, int z, Operation operation){
return operation(x,y,z);
}