[Flutter / Dart] 다트 3.0 신규 문법 (레코드)

2025. 4. 11. 02:16

1. 레코드

  • 레코드는 포지셔널 파라미터 or 네임드 파라미터 중 한 가지 방식을 적용하여 사용할 수 있음
  • 두 방식 모두 괄호 안에 쉼표로 구분하여 작성

1.1 포지셔널 파라미터를 이용한 레코드

  • 포지셔널 파라미터를 이용한 레코드는 포지셔널 파라미터로 표시한 타입 순서를 반드시 지켜야함.
// 레코드

// 포지셔널 파라미터를 이용한 레코드
void main() {
  // 정확히 위치에 어떤 타입의 값이 입력될지 지정할 수 있음
  // (String, int)는 첫 번째 값은 String타입, 두 번쨰 값은 int타입임
  (String, int) minji = ("민지", 20);
  
  print(minji);
}

만약, 레코드의 모든 값을 사용하지 않고 특정 순서의 레코드 값을 가져오고 싶다면 $를 사용하면 됨

void main() {
  (String, int) minji = ("민지", 20);
  
  print(minji.$1); // 민지
  print(minji.$2); // 20
  
  print(minji); // 민지, 20
}

1.2 네임드 파라미터를 이용한 레코드

  • 네임드 파라미터는 입력 순서를 지킬 필요가 없음
  • 다만 네임드 파라미터는 소괄호에 중괄호를 중첩하여 타입과 변수 이름을 ,로 구분하고 명시해줘야함
// 네임드 파라미터를 이용한 레코드
void main() {
  // 다른 네임드 파라미터와 마찬가지로 순서 상관X
  ({String name, int age}) minji = (name: "민지", age: 20);
  
  print(minji); // (age: 20, name: 민지)
}

 

 

https://github.com/Leedoseo/Flutter_Dart_3.0

 

GitHub - Leedoseo/Flutter_Dart_3.0

Contribute to Leedoseo/Flutter_Dart_3.0 development by creating an account on GitHub.

github.com

 

https://www.notion.so/Dart-Flutter-1cf9fd9f157980a5ab7efad394810871?pvs=4

 

Dart / Flutter | Notion

Made with Notion, the all-in-one connected workspace with publishing capabilities.

www.notion.so

 

 

 

 

출처 : 코드 팩토리의 플러터 프로그래밍

BELATED ARTICLES

more