Flutter/Dart - Function 함수

PINKIPPO·2023년 7월 14일

Dart

목록 보기
3/6
post-thumbnail

드디어 뭔가 재미있어 보이는 주제가 시작되었다 함수!! 진짜 중요함

이번 짤은 고전명작 일만 잘하면 문제없는거임

함수(Function)

프로그래밍에서는 불편을 최소화하고 중복 코드를 줄이기 위해 함수를 사용한다.

함수명(파라메터){로직}

void main(){
	List testList = [1,2];
    
    int result = addList(testList);
    print(result);
}

int addList(List x){
	int total = 0;
    
    for(int num in x){
    	total += num;
    }
  
  return total;
}

특징

이제야 진짜 코드 같아졌네용 Dart에서 Function의 특징을 설명해드릴게용

  • 변수가 함수 참조 가능
  • 다른 함수의 인자로 함수 전달 가능
  • 이름있는 선택 매개변수
  • 위치적 선택 매개변수
  • 익명함수 및 람다

Implementation

일반적으로 다른 언어와 다른 점은 반환값에 타입 선언을 생략할 수 있다
-> 축약 가능

Optional parameters

함수를 호출 할 때 명명된 매개변수를 지정할 수 있다.
{param1, param2, ... }형태로 선언하여 사용 가능
필수로 입력받아야하는 매개변수는 @Required 어노테이션을 이용

아래는 예시코드

void greet(String name, {String greeting = 'Hello', int count = 1}) {
  for (int i = 0; i < count; i++) {
    print('$greeting, $name!');
  }
}

void main() {
  greet('Alice'); // 기본 매개변수 값으로 'Hello'와 1이 사용
  greet('Bob', greeting: 'Hi'); // 'Hi'와 1이 사용
  greet('Charlie', count: 3); // 'Hello'와 3이 사용
  greet('Dave', greeting: 'Hey', count: 2); // 'Hey'와 2가 사용
}

Positional parameters

기본 매개변수로 정의된 함수는 호출할 때 정의된 모든 매개변수를 입력하지 않으면 에러 발생
선택적으로 매개변수를 생략하기를 원한다면 -> 해당 매개변수 [] 괄호로 감싸기

아래는 예시코드

String say(String from, String msg, [String device]) {
  var result = '$from say $msg';
  if (device != null) {
    result = '$result with $device';
  }
  return result;
}

Default parameter values

일반적인 = 표현으로 함수 파라미터에 대한 기본값 설정 가능
-> 별도로 설정하지 않을 경우에는 null로 설정

이제야 뭔가 새로운 언어를 사용하고 있다는게 실감이 되기 시작한다 ㅋㅋㅋㅋ 분명 후반에는 엄청 어렵겠지? 으악

profile
개발자가 될수있을까?

0개의 댓글