상세 컨텐츠

본문 제목

1. 기본기 2

Flutter(Dart 포함)

by 본투비곰손 2023. 8. 31. 22:35

본문

728x90

if 문

void main(){
  int number = 5;
  if(number % 3 == 0){
    print('나머지가 0 입니다.');
  }else if(number % 3 == 1){
    print('나머지가 1 입니다.');
  }else{
    print('나머지가 2 입니다.');
  }
}

switch

void main(){
  int number = 5;
  switch(number % 3){
    case 0:
      print('나머지가 0입니다.');
      break;
      
    case 1:
      print('나머지가 1입니다.');
      break;
      
    default:
      print('나머지가 2입니다.');
      break;
  }
}

for loop (반복문)

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); // numbers안에 모든 수를 더한값 구하기
  
  total = 0;
  for(int number in numbers){
    total += number;
  }
  print(total); 위 for문과 동일하게 numbers안의 모든 수를 더한값 구하기
}

while loop

void main(){
  int total = 0;
  while(total < 10){ // 조건 설정 중요!!
    total += 1;
  }
  print(total); total이 10이 될때까지 반복
  
  total = 0;
  do{
    total += 1;
  } while(total < 10);
  print(total); total이 10이 될때까지 반복(잘 사용하지 않음!!)
  
  total = 0;
  while(total < 10){ 
    total += 1;
    if(total == 5){
      break;
    }
  }
  print(total); // 5출력
  
  total = 0;
  for(int i = 0; i < 10; i++){
    total += 1;
    if(total == 5){
      break;
    }
  }
  print(total);  // 5출력
}
void main(){
  for(int i = 0; i < 10; i++){
    if(i == 5){
      continue; //i가 5가 되면 print(i)를 실행하지 않고 다음(i값 1증가)으로 계속된다.
    }
    print(i); // 0,1,2,3,4,6,7,8,9 가 순서대로 출력
  }
}
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();
}

// 세개의 숫자 (x,y,z)를 더하고 짝수 인지 홀수 인지 알려주는 함수
addNumbers() {
  int x = 10;
  int y = 20;
  int z = 30;

  int sum = x + y + z;

  print('x : $x');
  print('y : $y');
  print('z : $z');

  if (sum % 2 == 0) {
    print('더한 값은 짝수 입니다.');
  } else {
    print('더한 값은 수 입니다.');
  }
}

재사용을 위해 parameter(=argument) 선언 (positional parameter= 순서가 중요한 파라미터)

void main() {
  addNumbers(1, 5, 3);
}

// 세개의 숫자 (x,y,z)를 더하고 짝수 인지 홀수 인지 알려주는 함수
addNumbers(int x,int y,int z) {
  int sum = x + y + z;

  print('x : $x');
  print('y : $y');
  print('z : $z');

  if (sum % 2 == 0) {
    print('더한 값은 짝수 입니다.');
  } else {
    print('더한 값은 홀수 입니다.');
  }
}

optional parameter (있어도 되고 없어도 되는 파라미터)

void main() {
  addNumbers(1);
}

addNumbers(int x,[int y = 5,int z = 5]) { 
// 필수로 입력하는 값은 x 하나 y와 z는 임의로 숫자를 기본값으로 넣어 준다. null이면 안되기 때문
  int sum = x + y + z;

  print('x : $x');
  print('y : $y');
  print('z : $z');

  if (sum % 2 == 0) {
    print('더한 값은 짝수 입니다.');
  } else {
    print('더한 값은 홀수 입니다.');
  }
}

named parameter (이름이 있는 파라미터 -순서가 중요하지 않음)

void main() {
  addNumbers(x: 1,y: 5,z: 3);
  
  addNumbers(z: 3,x: 5,y: 6); // 순서가 바뀌어도 상관 없다.
}

// 세개의 숫자 (x,y,z)를 더하고 짝수 인지 홀수 인지 알려주는 함수
addNumbers({
  required int x,
  required int y,
  required int z 
  // required를 지우고 optional parameter와 같이 int z = 3 기본값을 넣어주면 동일한 기능
}) {
  int sum = x + y + z;

  print('x : $x');
  print('y : $y');
  print('z : $z');

  if (sum % 2 == 0) {
    print('더한 값은 짝수 입니다.');
  } else {
    print('더한 값은 홀수 입니다.');
  }
}

void

void main() {
  int result = addNumbers(x: 1, y: 5, z: 3); // 반환 되는 값을 변수 result로 선언
  int result2 = addNumbers(z: 3, x: 5, y: 6);
  print(result);
  print(result2);
}

int 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('더한 값은 홀수 입니다.');
  }
  return sum;
} // 더한 값을 반환 한다.

arrow function - 화살표 함수

void main() {
  int result = addNumbers(x: 1, y: 5, z: 3); // 반환 되는 값을 변수 result로 선언
  int result2 = addNumbers(z: 3, x: 5, y: 6);
  print(result);
  print(result2);
}

int addNumbers(
        { // 반환되는 값의 타입을 선언
        required int x,
        required int y,
        required int z}) =>
    x + y + z; // x+y+z 값을 반환하는 함수

typedef

void main() {
  Operation operation = add; //비어있는 함수 Operation타입 operation에 함수 add를 변수로 선언

  int result = operation(10, 6, 3); //파라미터 값을 넣어주고 결과를 변수 result에 저장

  print(result); // 출력

  operation = subtract; //operation에 함수 subtract를 변수로 재 선언

  int result2 = operation(18, 3, 6); //파라미터 값을 넣어주고 결과를 변수 result2에 저장

  print(result2); // 출력

  int result3 = calculate(5, 6, 9, add);
  print(result3);
  int result4 = calculate(19, 8, 2, subtract);
  print(result4);
}

typedef Operation = int Function(int x, int y, int z); // 시그니처라고 부른다.
//비어있는 함수 타입 Operation을 만들다. signature

// 더하기
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);
}
728x90

관련글 더보기