일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 一日一つメソッド
- nico
- 연습문제
- Web
- rails
- java
- 디지몬
- 자바
- Spring
- CSS
- javascript
- Flutter
- html
- 건담
- 単語
- 비즈니스일본어
- rails7
- springboot
- 반다이몰
- 인프런
- ruby
- vscode
- Python
- C로 시작하는 컴퓨터 프로그래밍4판
- 日本語
- DART
- jsp
- メソッド
- 일본어
- 건담베이스
- Today
- Total
AR삽질러
Dart Functions - (4) 본문
Dart Functions
함수란
코드 블록을 정의하고 재사용 가능한 코드를 만드는데 사용되는 요소로 특정 작업을 수행하고 값을 반환할 수 있다.
Dart Functions
함수의 선언과 호출 EX2)
void sayHello(String name) {
print("Hello $name nice to meet you!");
}
void main() {
sayHello("아랑!");
}
# # Hello 아랑 nice to meet you!
- sayHello 이름의 함수 정의 name 파라미터를 이용해 출력
함수의 선언과 호출 EX2)
String sayHello(String name) {
return "Hello $name nice to meet you!";
}
void main() {
print(sayHello('유람'));
}
# Hello 유람 nice to meet you!
값을 반환
- sayHello 함수를 정의한후 문자열(String)값을 반환한다.
함수의 선언과 호출 EX3)
String sayHello(String name) => "Hellow $name nice to meet you!";
num plus(num a, num b) => a + b;
void main() {
print(sayHello("아랑"));
print(plus(5, 5));
}
화살표함수(Arrow Function)
- Arrow를 활용하여 간단한 함수를 간결하게 정의할 수 있다.
- sayHello 함수와 plus함수를 간결하게 정의하고 값을 출력할 있다.
Named Parameters
- 함수 호출시 파라미터의 이름을 지정해 값을 전달하는 기능.
- Named Parameters를 이용하면 함수를 호출할때 어떤 매개변수가 어떤 값에 해당하는지 명시적으로 지정이 가능하다.
ex) 매개변수를 사용하여 함수를 호출하는 방법
String sayHello(String name, int age, String contry) {
return "안녕하세요. 저는 $name 입니다. 나이는 $age이고 국적은 $contry입니다.";
}
void main() {
print(sayHello("아랑", 25, "대한민국"));
}
// 안녕하세요. 저는 아랑 입니다. 나이는 25이고 국적은 대한민국입니다.
- sayHello 함수에는 세가지 매개변수(Parameters)가 있고 함수를 호출할 때 순서대로 값을 전달한다.
ex) 매개변수가 null일 경우 기본값을 지정한 함수를 호출하는 방법
String sayHello({String name = 'null', int age = 0, String contry = "null"}) {
return "안녕하세요. 저는 $name 입니다. 나이는 $age이고 국적은 $contry입니다.";
}
void main() {
print(sayHello(age: 25, contry: "대한민국"));
}
// 안녕하세요. 저는 null 입니다. 나이는 25이고 국적은 대한민국입니다.
- 기본값 지정시 { } 로 매개변수를 감싸고 이름을 지정하여 값을 전달한다.
ex) Named Parameters를 이용하여 필수 매개변수를 지정
String sayHello(
{required String name, required int age, required String contry}) {
return "안녕하세요. 저는 $name 입니다. 나이는 $age이고 국적은 $contry입니다.";
}
void main() {
print(sayHello(age: 25, contry: "대한민국", name: "아랑"));
}
// 안녕하세요. 저는 null 입니다. 나이는 25이고 국적은 대한민국입니다.
- required 키워드를 사용해 필수 매개변수를 정의하고 함수를 호출할 때 해당 매개변수 값을 반드시 전달하도록 한다.
선택적 매개변수(Optinal Positional Parameters)
- 함수 호출 시 매개 변수의 위치를 기반으로 값을 전달할 수 있는 방식으로 선택적으로 값을 전달 혹은 기본값을 지정할 수 있다. Named Parameters를 사용하지 않고 Optional Positional Parameters를 정의하라면 [ ]로 감싸준다.
String sayHello(String name, int age, [String? contry = "대한민국"]) {
return "안녕하세요. 저는 $name 입니다. 나이는 $age이고 국적은 $contry입니다.";
}
void main() {
var result = sayHello("아랑", 25);
print(result);
}
// 안녕하세요. 저는 아랑 입니다. 나이는 25이고 국적은 대한민국입니다.
QQ Operator
- ?? 연산자를 이용하면 왼쪽 값이 null인지 체크해서 null이 아니면 왼쪽 값을 리턴하고 null이면 오른쪽 값을 반환한다.
String name(String? name) {
if (name != null) {
return name.toUpperCase();
}
return 'ANON';
}
void main() {
var result1 = name("ar");
var result2 = name(null);
print(result1); // AR
print(result2); // ANOT
}
QQ Operator를 현재 코드에 적용한다.
String name(String? name) => name?.toUpperCase() ?? 'ANON';
void main() {
var result1 = name("ar");
var result2 = name(null);
print(result1); // AR
print(result2); // ANOT
}
- Null병합 할당 연산자(??= ) 변수가 null일 경우에만 우변값을 변수에 할당하는 연산자
QQ Equals / QQ Assignment Operator
void main() {
String? name;
name ??= 'AR';
name = null;
name ??= 'another';
var result = name;
print(name);
}
'Dart' 카테고리의 다른 글
Dart Class - (6) (0) | 2023.09.04 |
---|---|
Dart Typedef - (5) (0) | 2023.09.02 |
Dart DataTypes - (3) (2) | 2023.08.28 |
Dart Variables- (2) (0) | 2023.08.26 |
Dart - 설치 및 환경설정(1) (0) | 2023.08.22 |