[플러터] 20. Dart 문법 - 구조 분해 할당

KangHo Lee's avatar
Jan 03, 2025
[플러터] 20. Dart 문법 - 구조 분해 할당
💡
Dart에서는 튜플(tuple)과 명명된 파라미터(named parameters)를 사용하여 구조 분해 할당(destructuring assignment)을 구현할 수 있습니다.

1. 튜플을 이용한 구조 분해 할당

💡
튜플은 여러 개의 값을 하나의 값으로 묶을 수 있는 자료구조입니다.
(String, int) hello(){ return ("ssar", 1234); } void main() { var (username, password) = hello(); print(username); print(password); }

설명:

  1. 함수 선언
      • hello() 함수는 (String, int) 타입의 튜플을 반환합니다.
  1. 반환값
      • 함수는 "ssar"1234를 튜플로 반환합니다.
  1. 구조 분해 할당
      • main 함수에서 var (username, password) = hello(); 구문을 사용하여, 반환된 튜플의 값을 각각 usernamepassword 변수에 할당합니다.
  1. 출력
      • usernamepassword 값을 출력합니다.
  1. 결과
      • 이 방식은 튜플을 사용하여 여러 값을 반환하고, 호출 시 구조 분해하여 각 값을 변수에 할당할 수 있도록 합니다.

2. 명명된(이름이 있는) 파라미터를 이용한 구조 분해 할당

({String username, int password}) hello(){ return (username:"ssar", password:1234); } void main() { var n = hello(); print(n.username); print(n.password); }

설명:

  1. 함수 선언
      • hello() 함수는 {String username, int password} 타입의 객체를 반환합니다.
  1. 반환값
      • 함수는 usernamepassword 명명된 파라미터로 구성된 객체를 반환합니다.
  1. 구조 분해 할당
      • main 함수에서 var n = hello(); 구문을 사용하여, 반환된 객체를 n 변수에 할당합니다.
  1. 출력
      • n.usernamen.password 값을 출력합니다.
  1. 결과
      • 이 방식은 명명된 파라미터를 사용하여 함수가 반환하는 값을 보다 명확하게 할당하고 사용할 수 있도록 합니다.

요약

  • 위 2가지 방법은 여러 값을 1번에 반환할 수 있습니다.
Share article

devleekangho