함수 질문드립니다.
212
작성한 질문수 6
함수 질문 드립니다.
보통 함수는 파라미터를 전달해서 그 파라미터값으로 중괄호 부분의 함수를 실행시키는걸로 알고있는데요.
작업을 하다보면, 위와 같이 반환하는 함수의 타입과 이름이 정해져서 나오는경우가 있더라구요.
위에 이미지 안에 함수보면 빌드와 에이싱크타입의 context, snapshot을 받아서 함수를 실행하는걸로 나와있는거 같습니다.
제가 해당 값에 아무것도 전달하지도 않았는데 어떻게 중괄호 안에서 snapshot. 즉, . 을 이용해서 접근해서 이용할수있는건가요?
함수에 파라미터를 받아서 중괄호 부분을 실행시키는거랑 많이 달라서요..
질문1
snapshot에는 어떤한 데이터도 제가 제공안했는데 어떻게 접근 가능한지?
질문2
파라미터에 ( int a , String b ) 이렇게 선언하는것과
(BuildContext context , AsyncSnapshot<T> snapshot)
파라미터 앞에 타입 선언하고 변수 선언하고 똑같은데, 위에꺼는 파라미터를 전달해서 실행하는것과 파라미터 안에 데이터에 접근해서 사용하는것과 어떻게 구분하는건가요?
답변 1
0
안녕하세요!
개념이 좀 헷갈리시는 것 같습니다.
해당 함수는 수강생님께서 직접 선언하신 함수가 아닙니다.
해당 함수의 시그니처 (반환타입, 파라미터등)은 builder 파라미터에 정해져있습니다.
즉, 그냥 내 맘대로 선언 가능한게 아닙니다.
builder 파라미터에 정의된 그대로 파라미터와 반환타입을 입력해줘야만 사용이 가능합니다.
다만 여기서 파라미터의 이름은 마음대로 바꾸셔도 됩니다.
snapshot의 데이터에 접근 가능한 이유는 어딘가에서 입력해주고 있기 때문입니다.
말씀하신대로 builder에 제공한 함수는 "저희가 직접 실행"한적이 없지만 조건에 맞으면 실행이 되고 있습니다.
즉, FutureBuilder 내부에서 builder 파라미터에 제공한 함수를 실행하는 코드가 어딘가에 있겠죠?
실행할때는 snapshot 값을 파라미터에 입력하고 실행할것입니다.
그때 값을 제공받습니다.
질문2는 이해 못하겠습니다. 제가 보이기엔 파라미터의 정의 빼고는 다를게 없어보이는데 어떤 부분을 구분하고싶은지 조금 더 정확히 말씀해주시면 답변 드리겠습니다.
감사합니다!
0
예를들어 아래와 같은 함수가 있을경우에요. name. 이렇게해서 파라미터에 접근을 못하는데..
meber(String name){
name.
}
아래와 같이 builder의 경우는 어떻게 파라미터 값에 접근이 가능한지가 궁금해요.
builder: (context, snapshot){
snapshot.
}
만약, 맨위에 member함수도 아래 빌더 함수처럼 값에 접근이 가능하려면 어떻게 만드는걸까요?
0
파라미터에 접근을 못한다는게 무슨말씀이신지 도저히 모르겠습니다.
name.toString() 이런게 안된다는 말씀이신가요?
첫 함수에서 name <- 이게 파라미터입니다. 작성하신 문법은 문제가 없어보이며 name 접근 가능하셔야 정상입니다.
198강 (){onTap(e);}의 이해 돕기
0
26
1
video_call 플러그인 설치후 에러 발생
0
45
1
SDK 안드로이드 설치 질문!
0
60
1
코드팩토리 디스코드 링크 다시 부탁드려요~
0
92
1
Webview를 이용해서 URL 상의 페이지 출력 불가
0
70
1
홈스크린 함수를 함축해서 main.dart에 옮기는 문제
0
55
1
플레이스토어
0
59
1
아고라 엔진 init 함수의 반환타입이 Future<void> 이것의 의미는 무엇인가요?
0
55
1
가이드라인 질문
0
57
0
emulator 에러 환경설정 뭐가 문제 일까요??
0
76
1
emulator 실행 오류
0
93
3
Column을 가로방향 최대 사이즈를 차지하도록 하는 방법에 관련
0
71
1
pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의
0
43
1
setState()를 호출하지 않으면 build가 실행 안되는 건가요?
0
53
1
video_call 플러그인 설치시 에러문제
0
64
1
children 안의 if 문에서 { } 못쓰는 이유?
0
48
1
이렇게 오류가 떠요
0
63
1
AppBar 사용했는데
0
61
2
[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다
0
56
1
StatefulWidget 실습 에러가 발생합니다.[해결완료]
0
63
1
Video Player 프로젝트에 대한 추가 질문
0
53
0
Row위젯이나 column위젯의 위치는 누가 정하나요??
0
42
1
geolocator 오류때문에 개발진행이 불가능입니다
0
63
1
API 관련 이슈
0
86
2





