1. 강의 페이지

 

https://nomadcoders.co/dart-for-beginners

 

Dart 시작하기 – 노마드 코더 Nomad Coders

Flutter 앱 개발을 위한 Dart 배우기

nomadcoders.co

 

 

 

 

 

2. Dart 연습실 in web

 

Dart를 설치하지 않고 실행 결과를 확인할 수 있는 서비스

 

Command + Enter를 통해 Run 가능

 

https://dartpad.dev/

 

DartPad

 

dartpad.dev

 

 

 

 

 

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);
}

 

 

 

+ Recent posts