728x90
๐ฅ positional parameter (๊ธฐ๋ณธ์ ์ธ ํ๋ผ๋ฏธํฐ)
- ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ ํ๋ผ๋ฏธํฐ์ ์ด๊ณ ์์๊ฐ ์ค์ํ๋ค
- ํจ์๋ฅผ ํธ์ถํ ๋ ์์๋๋ก ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ฌํ ์ ์๋๋ก ์ง์ ํ ๋ ์ฌ์ฉ ํ๋ค
- ํ์ง๋ง, ์ด ๋ฐฉ๋ฒ์ argument๊ฐ 3๊ฐ ์ด์์ผ๋ก ๋์ด๊ฐ ๋๋ ์์๋ค์ ์์๋ฅผ ์์ ์๋ ์๊ณ ํจ์ ํธ์ถ ๋ถ๋ถ๋ง ๋ดค์ ๋ ๊ฐ ๋ฐ์ดํฐ๊ฐ ์ด๋ค ๊ฑธ ์๋ฏธํ๋์ง ๋ชจ๋ฅด๋๊น ์ข์ง ์๋ค
String sayHello3(String name, int age, String country){
return ("Hello $name, you are $age, and you come from $country");
};
// ํจ์ ํธ์ถ
sayHello3('potato',19,'cuba');
Dart์์ ํจ์๋ฅผ ์ ์ํ ๋ ๋งค๊ฐ๋ณ์๋ฅผ ์ ํ์ ์ผ๋ก ์ ๋ฌํ๊ฑฐ๋ ์์๋๋ก ์ ๋ฌํ ์ ์๋๋ก ์ง์ ํ ์ ์๋ค
์ด๋ฅผ ์ํด Dart์ function์ named parameter์ Optional positional parameters๋ฅผ ์ ๊ณตํ๋ค
๐ฅNamed Parameter
- ํจ์๋ฅผ ์ ์ํ ๋, ๋งค๊ฐ๋ณ์์ ์ด๋ฆ์ ๋ถ์ฌํ๋ ๊ฒ์ด๋ค
- Named Parameter์๋ ๊ธฐ๋ณธ๊ฐ์ ์ง์ ํ ์ ์์ผ๋ฉฐ, ๊ธฐ๋ณธ๊ฐ์ ์ง์ ํ์ง ์์ผ๋ฉด ํ์์ ์ผ๋ก ์ ๋ฌ๋์ด์ผ ํ๋ค
- ํธ์ถํ ๋ argument๋ ์์ ์๊ด์์ด ํ๋ผ๋ฏธํฐ ์ด๋ฆ๊ณผ ๋ฐ์ดํฐ ํ์ ์ ๋์ผํ๊ฒ ํด ์ฃผ๊ณ , ํ๋ผ๋ฏธํฐ ๋ค์ ์ค๊ดํธ{}๋ก ๊ฐ์ธ์ฃผ๋ฉด ๋๋ค
โป Dart์ Null safety์ ๋ฐ๋ผ ์ด๋ฅผ ์ํด 2๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค
1. default value : ํด๋น ํ๋ผ๋ฏธํฐ์ ๊ธฐ๋ณธ๊ฐ์ ์ฃผ์ด์ null์ผ ๋๋ ๊ธฐ๋ณธ ๊ฐ์ ์ฌ์ฉํ ์ ์๊ฒ ์ง์ ํด ์ค๋ค
2. required : ๊ธฐ๋ณธ ๊ฐ์ ๋ฐ๋ก ์ง์ ํ ํ์๊ฐ ์์ ๋, ์ด ํ๋ผ๋ฏธํฐ๋ ํ์ ๊ฐ์ด ์๋, ๊ฐ์ด ์ฌ ์๋ null์ด ์ฌ ์๋ ์๋ค๋ ๊ฒ์ ๋ช ์ํด ์ค๋ค
๐ฅ default value
- ํ๋ผ๋ฏธํฐ๋ ์ค๊ดํธ{}๋ก ๊ฐ์ธ์ฃผ๊ณ , ํ๋ผ๋ฏธํฐ ์์๋ =๊ธฐ๋ณธ๊ฐ์ ์ค์ ํด ์ค๋ค
- ํธ์ถํ๋ ๋ถ๋ถ์ argument ์๋ ์์๋ ์๊ด์์ง๋ง ํ๋ผ๋ฏธํฐ์ ์ด๋ฆ๊ณผ ๋ฐ์ดํฐ ํ์ ์ ๋์ผํ๊ฒ ํด์ฃผ์ด์ผ ํ๋ค
// ํ๋ผ๋ฏธํฐ๋ค์ {} ๋ก ๊ฐ์ธ์ฃผ๊ณ , ํ๋ผ๋ฏธํฐ ์์๋ ='๊ธฐ๋ณธ๊ฐ'์ ์ค์ ํด์ค๋ค
String sayHello4({String name = 'nana', int age = 11, String country = 'korea'}){
return ("Hello $name, you are $age, and you come from $country");
};
// ์์๋ ์๊ด์์ด ์๋ฃํ(๋ฐ์ดํฐ ํ์
๋ง ์ ํํ ํด์) argument์ ์ด๋ฆ๋ง ์ ์ด์ฃผ๋ฉด ๋๋ค
sayHello4(
age : 19,
name: 'potato',
country : 'cuba'
);
๐ฅ required
- default value๋ฅผ ์ง์ ํ ํ์๊ฐ ์์ ๋ required ์ฌ์ฉํ๋ค
- ์ฌ์ฉ ๋ฐฉ๋ฒ์ ํด๋น ํ๋ผ๋ฏธํฐ์ ๋ฐ์ดํฐ ํ์ ์์ required๋ฅผ ๋ถ์ฌ์ฃผ๋ฉด ๋๋ค
- required๋ก ์ง์ ๋ ํ๋ผ๋ฏธํฐ๋ ํ์ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ํธ์ถํ ๋ ๊ผญ ํ์๋ก argument๋ฅผ ๋ฃ์ด์ค์ผ ํ๋ค
// ๋ฐ์ดํฐ ํ์
์์ required ๋ฅผ ๋ถ์ฌ์ค๋ค
String sayHello5({required String name, required int age, required String country}){
return ("Hello $name, you are $age, and you come from $country");
};
// ํจ์ ํธ์ถ
sayHello5(
age : 19,
name: 'potato',
country : 'cuba'
);
// ์๋ ์ฒ๋ผ์ ํธ์ถ ํ ์ ์๋ค(ํ์ ๊ฐ ๋ค ๋ฃ์ด์ฃผ์ด์ผํจ)
sayHello5();
sayHello5(
age : 19,
name: 'potato'
);
๐ฅ optional positional parameter
- ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐ๋ positional parameter๋ฅผ ์ฌ์ฉํ๋ฉด์ ํ๋ผ๋ฏธํฐ๊ฐ ์ผ๋ถ๊ฐ ํ์๊ฐ ์๋๊ณ null ์ผ ์๋ ์์ ๋ ์ฌ์ฉํ๋ค
- ์ฌ์ฉ๋ฒ์ ํจ์ ํ๋ผ๋ฏธํฐ์์ ๋๊ดํธ[]๋ฅผ ๊ฐ์ธ๊ณ ๋ฐ์ดํฐ ํ์ ๋ค์? ๋ฅผ ๋ถ์ฌ์ null์ผ ๋์ ๊ธฐ๋ณธ๊ฐ์ ์ ํด์ฃผ๋ฉด ๋๋ค
- ํ์ง๋ง ์ด ๋ฐฉ๋ฒ์ ์ ์ฌ์ฉํ์ง ์๋๋ค๊ณ ํ๋ค..
// [String? country ='cubo']
String sayHello6( String name, int age, [String? country ='cubo']){
return ("Hello $name, you are $age, and you come from $country");
};
// ํจ์ ํธ์ถ
sayHello6('nana',11);
โป Reference
https://nomadcoders.co/ [๋ ธ๋ง๋์ฝ๋ ๊ฐ์ ์ฐธ๊ณ ]
https://dart.dev/language/functions
์ ํ์ ์์น ๋งค๊ฐ๋ณ์
728x90
'Dart > ๊ธฐ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Dart ๊ธฐ์ด] typedef (0) | 2024.08.02 |
---|---|
[Dart ๊ธฐ์ด] Null-aware Operators (0) | 2024.08.02 |
[Dart ๊ธฐ์ด] ํจ์ ์ ์ธ, ํ์ดํ ํจ์ (0) | 2024.08.02 |
[Dart ๊ธฐ์ด] String interpolation (0) | 2024.07.31 |
[Dart ๊ธฐ์ด] List, Map, Set (0) | 2024.07.31 |