728x90
//변수
var name = 'my code';
print(name);
name='flutter';
print(name);
int number1=10;
print(number1);
double number2 = 0.5;
bool isTrue = true;
bool isF = false;
print(isTrue);
String myname = '내이름';
String myname2 = '성미니';
print('${myname} ${myname2}');
print('$myname');
//var string 차이? var는 타입을 오른쪽 값으로 예상함.
dynamic dyn = 'fcseoul';
print(dyn);
dyn=2;
//var 타입은 그 선언으로 무조건 픽스. 다이나믹은 ㄹㅇ 아무거나로 바꿀 수 있다.
String? hey = null;
//물음표를 붙이면 null값을 넣을 수 있다.
//느낌표-> null없어야.
String? ex2 = 'asdf';
print(ex2!);
//파이널 : 변수 값 선언하고 이후 변경 안된다.
final String n = 'tjdals';
//콘스트도 안된다.
const String n2 = 'hihihihi';
//둘의 차이?
final n3 = 'hihih';
final DateTime now = DateTime.now();//요걸 실행하는 순간에
//const는 빌드 타임에 알아야한다. 파이널은 몰라도 돼
//빌드타임
print(now);
int count = 1;
count ++;
double? numex =4.0;
print(numex);
numex=null;
numex ??= 3.0;//null이면 오른쪽 값으로 바꿔라 라는 의미래
print(numex);
int isEx =1;
print(isEx is int);
print(isEx is! int);
//List
List<String> bp = ['jenny','jisoo'];
List<int> num=[1,2,3];
print(bp);
//index => 0부터 시작
print(bp[0]);
print(bp.length);
bp.add('seongmin');
print(bp);
print(bp.indexOf('seongmin'));
Map<String, String> dic ={
'seongmin' : 'kim',
'sang ho' : 'na',
};
print(dic);
Map<String, bool> isfootballer={
'seongmin' : false,
'sonny' : true,
};
isfootballer.addAll({
'channy' : true,
});
print(isfootballer);
print(isfootballer['sonny']);
isfootballer['ki'] = true;
print(isfootballer);
isfootballer.remove('ki');
print(isfootballer.keys);
//set 중복 자동 방지
final Set<String> names = {
'kim', 'park', 'choi','kim'
};
print(names);
print(names.contains('kim'));
int number = 3;
switch(number%3){
case 0:
print('나머지 0');
break;
case 1:
print('나머지 1');
break;
default:
print('나머지 2');
break;
}
List<int> numbers=[1,2,3,4,5,6];
for(int number in numbers){
print(number);
}
int total=0;
while(total<10){
total+=1;
}
do{
total+=1;
}while(total<10);
}
enum Status{
approved,
pending,
rejedcted,
}
void main() {
Status status = Status.approved;
if(status==Status.approved){
print("approved");
}
}
//세개 숫자 (x,y,z)를 더하고 짝인지 홀인지 알려주는 함수
addNumbers(int x, [int y=30, int z=40]){//null이니까 ? 를 넣어줘야
//아님 int y = 30 등으로 기본값을 설정 해줘야ㅣㅣ.
int sum = x+y+z;
if(sum%2==0){
print('짝수');
}else{
print('홀수');
}
}
//optional param-> 대괄호
//named param ; 순서 중요 않다.
addNumbers1({required int x,required int y, required int z}){
int sum = x+y+z;
if(sum%2==0){
print('짝수');
}else{
print('홀수');
}
}
addNumbers2({required int x,required int y, int z=50}){
//이렇게도 가능하다 이말씀.
int sum = x+y+z;
if(sum%2==0){
print('짝수');
}else{
print('홀수');
}
}
addNumbers3(int x, {required int y, int z=50}){
//이렇게도 가능하다 이말씀.
int sum = x+y+z;
if(sum%2==0){
print('짝수');
}else{
print('홀수');
}
}
//arrow 함수?
int addNumbers4(int x, {required int y, int z= 30,})=>x+y+z;
void main() {
Oper oper = add;
print(oper(10,20,30));
print(calc(30,40,50, sub));
}
//signature
typedef Oper = int Function(int x, int y, int z);
int add(int x, int y, int z)=>x+y+z;
int sub(int x, int y, int z)=>x-y-z;
int calc(int x, int y, int z, Oper oper){
return oper(x,y,z);
}
728x90
'CSE' 카테고리의 다른 글
Spring 프로젝트 GCP에 올리기 [무료계정] (1) | 2024.09.06 |
---|---|
[Spring Jwts] parser() 와 parserBuild() (0) | 2024.07.18 |
[프로그래머스] ComponentScan, @Service (0) | 2023.07.19 |
springboot 게시판 따라만들기2 (0) | 2023.06.01 |
SpringBoot 게시판 따라만들기1 (0) | 2023.06.01 |
댓글