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

이번 짤은 고전명작 일만 잘하면 문제없는거임
프로그래밍에서는 불편을 최소화하고 중복 코드를 줄이기 위해 함수를 사용한다.
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의 특징을 설명해드릴게용
일반적으로 다른 언어와 다른 점은 반환값에 타입 선언을 생략할 수 있다
-> 축약 가능
함수를 호출 할 때 명명된 매개변수를 지정할 수 있다.
{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가 사용
}
기본 매개변수로 정의된 함수는 호출할 때 정의된 모든 매개변수를 입력하지 않으면 에러 발생
선택적으로 매개변수를 생략하기를 원한다면 -> 해당 매개변수 [] 괄호로 감싸기
아래는 예시코드
String say(String from, String msg, [String device]) {
var result = '$from say $msg';
if (device != null) {
result = '$result with $device';
}
return result;
}
일반적인 = 표현으로 함수 파라미터에 대한 기본값 설정 가능
-> 별도로 설정하지 않을 경우에는 null로 설정
이제야 뭔가 새로운 언어를 사용하고 있다는게 실감이 되기 시작한다 ㅋㅋㅋㅋ 분명 후반에는 엄청 어렵겠지? 으악