Dart:
코드를 함수로 구성하기
방법:
기본 함수
Dart에서 함수를 정의할 때 반환 값이 없으면 void
키워드를 사용하거나, 그렇지 않으면 반환 값의 유형을 지정합니다. 다음은 인사 메시지를 출력하는 간단한 함수입니다:
void greet(String name) {
print('안녕, $name!');
}
void main() {
greet('앨리스'); // 출력: 안녕, 앨리스!
}
값을 반환하는 함수
함수는 값을 반환할 수 있습니다. 다음 예제는 두 정수를 입력으로 받아 그 합을 반환합니다:
int add(int a, int b) {
return a + b;
}
void main() {
var sum = add(5, 3);
print(sum); // 출력: 8
}
익명 함수
Dart는 람다 표현식 또는 클로저라고도 알려진 익명 함수를 지원합니다. 이는 즉석에서 짧은 기능을 위해 유용할 수 있습니다. 다음은 리스트의 forEach
메소드와 함께 익명 함수를 사용하는 방법입니다:
void main() {
var fruits = ['사과', '바나나', '체리'];
fruits.forEach((item) {
print(item);
});
// 출력:
// 사과
// 바나나
// 체리
}
단일 표현식 함수를 위한 화살표 구문
단일 표현식만을 포함하는 함수의 경우, Dart는 “화살표” 표기법(=>
)을 사용하는 간결한 구문을 제공합니다. 이는 짧은 함수나 함수를 인자로 전달할 때 특히 유용합니다:
int square(int num) => num * num;
void main() {
print(square(4)); // 출력: 16
}
서드파티 라이브러리 사용하기
더 복잡하거나 특화된 기능에 대해, Dart 프로그래머들은 종종 서드파티 라이브러리에 의존합니다. 예를 들어 HTTP 요청을 만드는 데 http
라이브러리를 고려해보세요. 첫 번째로, 의존성 아래에 http
를 pubspec.yaml 파일에 추가하세요:
dependencies:
http: ^0.13.3
그런 다음, 웹에서 데이터를 가져오는 데 사용할 수 있습니다:
import 'package:http/http.dart' as http;
Future<void> fetchUserData() async {
var response = await http.get(Uri.parse('https://api.example.com/users/1'));
print(response.body);
}
void main() {
fetchUserData();
// 예상 출력: 사용자의 JSON 데이터. 실제 출력은 API의 응답에 따라 다를 수 있습니다.
}
Dart 코드를 함수로 조직화할 때, 재사용성, 명확성 및 단일 책임 원칙에 대해 생각하세요. 이는 코드를 더 깨끗하게 만들 뿐만 아니라, 다른 사람들(그리고 미래의 당신)이 이해하고 유지 보수하기 쉽게 합니다.