inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Flutter cho người mới bắt đầu từ cơ bản đến thực chiến [Fullstack Part4] (Dễ dàng và vững chắc từng bước với nhiều dự án đa dạng)

Hàm Dart

파라미터 질문있습니다~

Đã giải quyết

373

dlfgh15

7 câu hỏi đã được viết

0

Q1. Dart 언어에서 Optional parameters에도 Name을 붙여 파라미터 값 대입 시 순서를 다르게 할 수 있나요?

void function1(int a, [int b]) {..}
// b에 이름을 붙여 function1을 호출할 수 있는가

 

Q2. 하나의 함수에 Optional parameters, Named parameters 둘 다 쓴다고 하면, 작성 순서는 어떻게 되나요?

void function2(int a, {int? b}, [int c]) {..}
// 둘을 같이 쓸 일이 있는지는 모르겠지만 궁금합니다

dart parameter

Câu trả lời 1

1

funcoding

안녕하세요. 답변도우미입니다.

Optional parameters 는 [] 를 적용한 것을 의미하고, Named parameters 은 {} 를 적용한 것을 의미한 것을 말씀하시는 것이죠. 이렇게 이야기드린 이유는 Optional parameters 는 결국 해당 인자값을 넣어도 되고 안넣어도 되는 기능을 가지고 있는데요. 이 기능적 측면을 고려한 후, 답변을 드리면요.

Q1: 넵 가능합니다. 강의에서 설명드린 Named parameters 에서, required 를 적용하지 않은 케이스를Named Optional Parameters 라고도 부를 수 있는데요. 이 경우 인자값을 반드시 넣지 않아도 되고, 인자명으로 인자값을 선언하기 때문에, 함수 호출시, 인자값 적용 순서를 달리해도 됩니다. 즉 강의의 Optional Parameter 의 기능적 측면을 생각한다면, 이와 같이 활용하실 수 있습니다.

void main() { 
   test_param(123); # s1, s2 둘다 안넣어도 되었습니다~
   test_param(123,s1:'hello'); # s2 인자를 안넣어도 되었고요~
   test_param(123,s2:'hello',s1:'world');  # 순서도 바꾸었고요~
}  
test_param(int n1,{String? s1,String? s2}) { 
  print(n1); 
  print(s1);
  print(s2);
}  

Q2: Optional parameters 는 [] 를 적용한 것을 의미하고, Named parameters 은 {} 를 적용한 것이라는 측면으로 봤을 때는, [], {} 를 동시에 쓰는 것은 허용하지 않습니다. 다만 위의 Named Parameters 의 required 를 붙이거나, 안붙이거나 하는 기능을 사용해서, Optional Parameter 의 기능적 측면은 Named Parameters 를 사용해서, 지원이 됩니다.

감사합니다.

 

0

dlfgh15

찰떡같은 답변 감사합니다!!

6강에 비디오가 이상해요

0

27

2

질문있습니다!

0

20

0

SEO에 대해

1

60

2

플러터 프로젝트를 시작할수 없어요

0

287

1

강의할때 쓰이는 문서는 어디서 확인할 수 있나욧?

0

155

1

theme useMaterial3 적용 안됨.

0

151

1

AppBar 적용안됨

0

139

1

강의 방법 및 효율적인 학습 팁 강의화면 안보이는 이슈

0

183

1

안드로이드 스튜디오 테마 문의 드립니다.

0

190

1

flutter 의 window 환경변수 path 경로 변경된 것 같아요

0

273

1

앱의 백엔드와 프론트엔드에 관한 문의

0

184

1

회원가입 오류

0

287

1

강의 질문입니다.

0

235

2

flutter 설치중 오류 network resource

0

581

1

질문있습니다.

0

239

2

강의 노트를 보고 싶은데 어디서 봐야되요.

0

266

1

firebase 프로젝트 연결 오류

0

759

1

플러터 다트 질문

0

303

1

몇가지 질문드립니다.

0

458

2

Provider와 Stateful

0

601

1

명령어 프롬프트에서 에러

0

680

1

제공된 코드들을 실행시키면 sdk파일을 받으라고 뜨는데

0

347

1

flutter pub add provider

0

418

1

섹션9 동영상 중복

0

293

1