void main(){
int number = 3;
if(number % 3 == 0){
print('나머지가 0입니다');
}else if(number % 3 == 1){
print('나머지가 1입니다');
}else{
print('나머지가 2입니다.');
};
}
void main(){
int number = 3;
switch(number % 3){
case 0:
print('나머지가 0입니다');
break;
case 1:
print('나머지가 1입니다');
break;
default:
print('나머지가 2입니다');
break;
};
}
void main(){
int total = 0;
List<int> numbers = [1,2,3,4,5,6];
for(int i=0; i<numbers.length; i++){
total += numbers[i];
};
print(total); // 21
}
void main(){
int total = 0;
List<int> numbers = [1,2,3,4,5,6];
for(int number in numbers){
total += number;
};
print(total); // 21
}
void main(){
int total = 0;
while(total < 10){ // 조건 설정 유의
total += 1;
};
print(total); // 10
}
void main(){
int total = 0;
do{
total += 1;
} while(total < 10);
print(total); // 10
}
void main(){
int total = 0;
while(total < 10){
total += 1;
if(total == 5){ // total이 5면 루프를 나가버려..
break;
}
}
print(total);
}
void main(){
for(int i=0; i<10; i++){
if(i==5){ // i가 5면 현재 루프를 종료하고 다음 루프로 넘어감
continue;
}
print(i); // 1,2,3,4,6,7,8,9
}
}
정확히 enum으로 선언한 값만 사용한다는 것을 알려줄 수 있음
오타를 내면 바로 에러가 나옴
타입을 강제할 수 있음
enum Status{
approved, // 승인
pending, // 대기
rejected, // 거절
}
void main(){
Status status = Status.pending;
if(status == Status.approved){
print('승인입니다.');
}else if(status == Status.pending){
print('대기입니다.');
}else{
print('거절입니다.');
}
}
순서가 중요한 파라미터
void main(){ // 메인함수는 자동으로 실행되는 함수
addNumbers(20,30,40); // 짝수입니다
}
addNumbers(int x,int y,int z){
int sum = x+y+z;
if(sum%2 == 0){
print('짝수입니다');
}else{
print('홀수입니다');
};
}
있어도 되고 없어도 되는 파라미터
void main(){ // 메인함수는 자동으로 실행되는 함수
addNumbers(20); // 짝수입니다
}
addNumbers(int x,[int y,int z]){ // 다른 함수는 직접 호출해야함
int sum = x+y+z;
if(sum%2 == 0){
print('짝수입니다');
}else{
print('홀수입니다');
};
}
void main(){
addNumbers(20);
}
addNumbers(int x,[int y = 20, int z = 30]){ // 기본값 설정
int sum = x+y+z;
if(sum%2 == 0){
print('짝수입니다');
}else{
print('홀수입니다');
};
}
이름이 있는 파라미터, 순서는 중요하지 않다.
void main(){
addNumbers(y:20, x:10, z:30);
addNumbers(x:10, y:20, z:30);
}
addNumbers({
required int x,
required int y,
required int z,
}){
int sum = x + y + z;
print('x : $x');
print('y : $y');
print('z : $z');
if(sum % 2 == 0){
print('짝수입니다.');
}else{
print('홀수입니다.');
}
}
void main(){
addNumbers(y:20, x:10);
addNumbers(x:10, y:20, z:50);
}
addNumbers({
required int x,
required int y,
int z = 30, // 기본값 넣어주기
}){
int sum = x + y + z;
print('x : $x');
print('y : $y');
print('z : $z');
if(sum % 2 == 0){
print('짝수입니다.');
}else{
print('홀수입니다.');
}
}
void main(){
int result = addNumbers(y:20, x:10);
int result2 = addNumbers(x:10, y:20, z:50);
print('result : $result');
print('result2 : $result2');
print('sum : ${result+result2}');
}
int addNumbers({
required int x,
required int y,
int z = 30, // 기본값 넣어주기
}){
int sum = x + y + z;
print('x : $x');
print('y : $y');
print('z : $z');
if(sum % 2 == 0){
print('짝수입니다.');
}else{
print('홀수입니다.');
}
return sum;
}
void main(){
int result = addNumbers(y:20, x:10);
int result2 = addNumbers(x:10, y:20, z:50);
print('result : $result');
print('result2 : $result2');
print('sum : ${result+result2}');
}
int addNumbers({
required int x,
required int y,
int z = 30, // 기본값 넣어주기
})=> x+y+z;
void main(){
Operation operation = add;
int result = operation(10,20,30);
print(result); //60
operation = substract;
int result2 = operation(10,20,30);
print(result2); //-40
int result3 = calculate(30,40,50, add);
print(result3); //120
int result4 = calculate(40,50,60, substract);
print(result4); //-70
}
// 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 calculate(int x, int y, int z, Operation operation){
return operation(x,y,z);
}