minjeong-oh
기록
minjeong-oh
전체 방문자
오늘
어제
  • 분류 전체보기 (207)
    • ML & Neural Net (3)
    • ◼️GNN (1)
    • ◼️시계열 (1)
    • ◼️추천시스템 (0)
    • ◼️수학 (3)
    • Data Engineer (2)
    • ◼️Spark (1)
    • ◼️Kafka (1)
    • ◼️Elestic Search (0)
    • ◼️Redis (0)
    • ◼️ClickHouse (1)
    • Programming Language (4)
    • ◼️셸 스크립트 (0)
    • ◼️SQL (0)
    • ◼️React (0)
    • ◼️Git (1)
    • ◼️Python (1)
    • ◼️C++ (33)
    • ◼️Fortran 99 (2)
    • ◼️OpenGL (7)
    • ◼️MFC (35)
    • ◼️Flutter (46)
    • ◼️Kotlin (1)
    • ◼️Android (1)
    • ◼️Java (1)
    • ◼️C (4)
    • Development (0)
    • ◼️디자인패턴 (0)
    • ◼️네트워크 (2)
    • ◼️인증 (1)
    • Computer Science (4)
    • 알고리즘 문제풀이 (12)
    • SQL 고득점 Kit 문제풀이 (8)
    • 취업준비 (0)
    • Notion 정리 글 (1)
    • Article Scrap (12)
      • Careerly - Q&A (7)
      • Careerly - Post (2)
    • 기타 등등 (16)

블로그 메뉴

  • 글쓰기
  • 홈
  • 태그
  • 방명록
  • 편집

공지사항

인기 글

태그

  • API문서정리
  • mfc
  • NextJSSwagger
  • 19년식그램램장착
  • hello테마
  • GSLB
  • 이차원구조체배열포인터
  • 19년식그램SSD장착
  • SpringBootSwagger
  • 구조체매개변수
  • 그램풀스팩업그레이드
  • 그램업그레이드
  • 인공지능개발자
  • AI배워야하나
  • 티스토리폰트배경색없애기
  • kafka구축
  • OpenGL회전
  • 구조체배열포인터
  • 리눅스파티션
  • 이것이C++이다책참고

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
minjeong-oh

기록

카테고리 없음

[flutter] 포지셔널 파라미터와 네임드 파라미터

2024. 6. 4. 01:35


다트에서 함수 매개변수 지정 방법 두가지

1. 포지셔널 파라미터 (입력순서대로 매칭)
2. 네임드 파라미터 (변수지정해서 매칭)

두개같이쓸때는 포지셔널, 네임드 순으로 사용


포지셔널 파라미터

  • 함수에 순서대로 지정하는 값
  • default값 설정하는 매개변수는 한번에 [ ] 로 묶어 준다. default 는 뒤에 배치한다.



void fun(int a, [int b=3]){} 
호출 fun(1);  fun(1,2);

void fun(int a , [int b =6, int c=10]){} 
호출 fun(1); fun(1, 2); fun(1, 2, 3);

// 에러코드!! default 값 지정은 뒤에 배치해야함
void fun(int a, [int b = 3] , int c){}


네임드 파라미터

  • 중괄호{} 로 묶어야함. 매개변수 마지막에 (,) 있음
  • 세가지 형태 가능: required / null가능 타입 / 기본값 지정
  • required 키워드 붙은 매개변수: null 불가능, 기본값지정가능 (사용자에게 값지정을 강제)
  • null 가능타입: 자료형? , 기본값지정가능
  • 기본값만 지정: 값 할당
  • 호출방법: 매개변수명과 콜론(:) 사용


//아래함수는 호출할때 a 값만 지정하도록 강제됨 
// a 외에는 null 가능이거나 기본값이 지정되어있기때문
void fun({
    required int a,
    required int b=10,
    int? c,
    int? d = 11,
    int e = 12,
}){}

호출 fun(c:null, a: 10);  // 순서가 엇갈려도됨



복합사용

  • 포지셔널파라미터, 네임드파라미터 순으로 사용
  • 주의) 포지셔널 파라미터의 기본값은 네임드 파라미터와 함께 사용 불가능 하다.


void fun(int a  , { required int c, }) {}

호출 fun(10,c:5); fun(c:11,10);


//에러코드. 포지셔널 기본값과 네임드 파라미터 함께 사용 불가능
void fun(int a, [int b=10], {required int c})

    티스토리툴바