기존
void main(){
print(sayHello('nico',11,"korea"));
}
String sayHello(String name, int age, String contry){
return "name = $name, age = $age, contry = $contry";
}
name argument
function 호출시 파라미터에 순서값 대신 name으로 구분
함수의 위치를 기억하지 않고 함수의 정의를 보고 실행함 -> 순서 상관 X
* 이 경우 예외를 지정해주지 않으면 에러남
void main(){
print(sayHello(
name : "suna",
age : 11,
contry : "korea"));
}
String sayHello({String name, int age, String contry}){
return "name = $name, age = $age, contry = $contry";
}
Error compiling to JavaScript: lib/main.dart:8:25: Error: The parameter 'name' can't have a value of 'null' because of its type 'String', but the implicit default value is 'null'. String sayHello({String name, int age, String contry}){ ^^^^ lib/main.dart:8:35: Error: The parameter 'age' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'. String sayHello({String name, int age, String contry}){ ^^^ lib/main.dart:8:47: Error: The parameter 'contry' can't have a value of 'null' because of its type 'String', but the implicit default value is 'null'. String sayHello({String name, int age, String contry}){ ^^^^^^ Error: Compilation failed.
*예외지정 1*
named argument에 default value 지정
void main(){
print(sayHello(
name : "suna",
age : 11,
contry : "korea"));
}
String sayHello({String name ='name', int age =0, String contry='contry'}){
return "name = $name, age = $age, contry = $contry";
}
*예외지정 2*
required modifier를 이용해서 필수값으로 지정
void main(){
print(sayHello(
name : "suna",
age : 11,
contry : "korea"));
}
String sayHello({required name , required age, required contry}){
return "name = $name, age = $age, contry = $contry";
}
'develop > flutter' 카테고리의 다른 글
Variables (변수) (0) | 2024.11.19 |
---|---|
Dart 시작하기 (1) | 2024.11.19 |
flutter ListView (0) | 2023.08.28 |
[왕초보] 플러터(Flutter)로 시작하는 앱개발 AppBar 위치 (0) | 2023.08.28 |
스파르타 flutter 앱개발 2일차 flutter 설치삭제후 재설치 (0) | 2023.08.24 |