1. 강의 페이지
https://nomadcoders.co/dart-for-beginners
2. Dart 연습실 in web
Dart를 설치하지 않고 실행 결과를 확인할 수 있는 서비스
Command + Enter를 통해 Run 가능
3. 기본적인 함수 예시 정의하고 사용해보기
void sayHello(String name) {
print("Hi! I am $name, nice to meet you!");
}
String sayHelloReturn(String name) {
return "Hi! I am $name, nice to meet you!";
}
String sayHelloReturn2(String name) => "Hi! I am $name, nice to meet you!";
void main() {
sayHello("Harry");
print(sayHelloReturn("Jay"));
print(sayHelloReturn2("Max"));
}
4. 더하기 함수 예제
positional parameters를 사용해, 첫번째 요소를 a, 두번째 요소를 b라 한다.
num plusReturn(num a, num b) => a+b;
void main() {
print(plusReturn(4, 1.2));
}
5. named argument 미사용과 사용 비교 예제
- named argument 미사용할 경우
String introduceMySelf(String name, int age, String country)
=> "Hi, My name is $name. I'm $age years old in $country";
void main() {
print(introduceMySelf("Harry", 22, "South Korea"));
}
- named argument 사용할 경우
a. default value를 설정한 예시
String introduceMySelf({
String name="Kim",
int age=5,
String country="US"
})
=> "Hi, My name is $name. I'm $age years old in $country";
void main() {
print(
introduceMySelf(
age: 25,
country: "Japan",
name: "Jay"
)
);
}
b. required를 설정한 예시
String introduceMySelf({
required String name,
required int age,
required String country
})
=> "Hi, My name is $name. I'm $age years old in $country";
void main() {
print(
introduceMySelf(
age: 25,
country: "Japan",
name: "Jay"
)
);
}
6. Optional Positional Parameters 예제
String introduceMySelf(
String name,
int age,
[String? country = "US"]
)
=> "Hi, My name is $name. I'm $age years old in $country";
void main() {
var result = introduceMySelf("Jay", 25,);
print(result);
}
7. 대문자로 바꿔주는 함수 예제를 활용한 Operator 실습
String capitalizeName(String name)
=> name.toUpperCase();
void main() {
var result = capitalizeName("harry");
print(result);
}
name에 null을 입력해도 처리할 수 있는 함수를 만들어봅니다.
String capitalizeName(String? name) {
if (name != null) {
return name.toUpperCase();
}
return "ANON";
}
void main() {
var result = capitalizeName("harry");
print(result);
var result2 = capitalizeName(null);
print(result2);
}
아래와 같이 더 줄일 수 있습니다.
String capitalizeName(String? name)
=> name?.toUpperCase() ?? "ANON";
void main() {
var result = capitalizeName("harry");
print(result);
var result2 = capitalizeName(null);
print(result2);
}
8. 변수 선언 후, 해당 변수가 null일 경우 default값 지정해주기
void main() {
String? name;
name ??= "Harry";
print(name);
}
9. list를 받아 list로 return하는 함수 활용 예제
List<int> reversedListOfNumbers(List<int> list) {
var reversed = list.reversed;
return reversed.toList();
}
void main() {
var result = reversedListOfNumbers([1, 2, 3, 4]);
print(result);
}
10. typedef를 활용해 쉽게 함수 구성하기 예제
- 원하는 alias를 설정할 수 있게 해줍니다.
typedef UserInfo = Map<String, String>;
String sayHi(UserInfo userInfo) {
return "Hi ${userInfo['name']}";
}
void main() {
var result =
sayHi(
{
"name": "Harry",
"country": "US"
}
);
print(result);
}
'Development > Flutter (Dart)' 카테고리의 다른 글
[Dart] 조건문 (if-else, switch-case) 기본 예제 (0) | 2023.05.05 |
---|---|
[Dart][Flutter] nomadcoders dart-for-beginners 4일차 #4 Classes 강의 정리 (0) | 2023.05.04 |
[Dart][Flutter] nomadcoders dart-for-beginners 2일차 #2 Data Types 강의 정리 (0) | 2023.05.03 |
[Dart][Flutter] nomadcoders dart-for-beginners 1일차 #1 Variables 강의 정리 (0) | 2023.05.01 |
[Centos7][Flutter] How to install Flutter with snap (0) | 2022.01.31 |