π varλ₯Ό μ¬μ©ν μ μΈ
λ³μλ var λ³μλͺ = κ°; μΌλ‘ μ μΈν©λλ€. λ³μμ κ°μ΄ λ€μ΄κ°λ©΄ μλμΌλ‘ νμ μ μΆλ‘ νλ νμ μΆλ‘ κΈ°λ₯μ μ 곡νλ―λ‘ λͺ μμ μΌλ‘ νμ μ μ μΈνμ§ μμλ λ©λλ€.
void main (){
var name = 'μ£Όλ
μ£Όλ
';
print(name);
// λ³μμ κ° λ³κ²½κ°λ₯
name = 'μ£Όλ
';
print(name);
// λ³μλͺ
μ€λ³΅μ λΆκ°
// var name = 'νλ¬ν°μμ '; <- μ€λ₯λ¨
}
π dynamicμ μ¬μ©ν λ³μμ μΈ
var νμ μ λ³μμ κ°μ μ¬μ©ν΄μ λ³μμ νμ μ μ μΆνλ ν€μλμ λλ€. νμ μ ν λ² μ μΆνλ©΄ μΆλ‘ λ νμ μ΄ κ³ μ λ©λλ€.
λ°λΌμ κ³ μ λ λ³μ νμ κ³Ό λ€λ₯Έ λ³μ νμ μ κ°μ κ°μ λ³μμ λ€μ μ μ₯νλ©΄ μλ¬κ° λ°μν©λλ€. νμ§λ§ dynamic ν€μλλ₯Ό μ¬μ©νλ©΄ λ³μμ νμ μ΄ κ³ μ λμ§ μμμ λ€λ₯Έ νμ μ κ°μ μ μ₯ν μ μμ΅λλ€.
void main() {
dynamic name = 'μ£Όλ
μ£Όλ
';
name = 1;
}
π final/constλ₯Ό μ¬μ©ν λ³μ μ μΈ
finalκ³Ό constλ λ³μμ κ°μ μ²μ μ μΈ ν λ³κ²½ν μ μμ΅λλ€.
void main () {
final String name = 'λ΄μ§μ€';
name = 'λ₯΄μΈλΌν'; // μλ¬λ°μ finalλ‘ μ μΈν λ³μλ μ μΈ ν κ°μ λ³κ²½ λΆκ°
const String name2 = 'μμ΄λΈ';
name2 = 'λ΄μ§μ€'; // μλ¬λ°μ finalλ‘ μ μΈν λ³μλ μ μΈ ν κ°μ λ³κ²½ λΆκ°
}
- finalμ λ°νμ, constλ λΉλνμ μμμ λλ€.
- μ½λλ₯Ό μ€ννμ§ μμ μνμμ κ°μ΄ νμ λλ©΄ constλ₯Ό, μ€νν λ νμ λλ©΄ finalμ μ¬μ©!
π 컬λ μ
μ¬λ¬ κ°μ νλμ λ³μμ μ μ₯ν μ μλ νμ μ λλ€.
μ¬λ¬ κ°μ μμλλ‘ μ μ₯νκ±°λ(List), νΉμ ν€κ° κΈ°λ°μΌλ‘ λΉ λ₯΄κ² κ°μ κ²μν΄μΌ νκ±°λ(Map), μ€λ³΅λ λ°μ΄ν°λ₯Ό μ κ±°ν λ(Set) μ¬μ©λ©λλ€. 컬λ μ νμ μ μλ‘μ νμ μΌλ‘ μμ λ‘κ² νλ³νμ΄ κ°λ₯νλ€λ ν° μ₯μ μ΄ μμ΅λλ€.
π· List νμ
- μ¬λ¬ κ°μ μμλλ‘ ν λ³μμ μ μ₯ν λ μ¬μ©
- 리μ€νΈμ κ΅¬μ± λ¨μλ₯Ό μμλΌκ³ ν©λλ€.
- 리μ€νΈλͺ [μΈλ±μ€] νμμΌλ‘ νΉμ μμμ μ κ·Ό κ°λ₯ν©λλ€.
- μΈλ±μ€λ μμμ μλ²
- μ μΌ μ²« μμλ 0μΌλ‘ μ§μ , λ§μ§λ§ μμλ 리μ€νΈ κΈΈμ΄ -1 λ‘ μ§μ
void main() {
List<String> iveList = ['μ μ§', 'μμ', 'μ΄μ', 'λ μ΄', '리μ¦', 'κ°μ'];
print('----------- μ 체 리μ€νΈλ₯Ό μΆλ ₯ν΄λ³΄μ -----------');
print(iveList);
print('----------- 첫λ²μ§Έ μμλ₯Ό μΆλ ₯ν΄λ³΄μ -----------');
print(iveList[0]);
print('----------- λ€μ―λ²μ§Έ μμλ₯Ό μΆλ ₯ν΄λ³΄μ -----------');
print(iveList[4]);
print('----------- 리μ€νΈ κΈΈμ΄λ₯Ό μΆλ ₯ν΄λ³΄μ -----------');
print(iveList.length);
print('----------- μΈλ±μ€ κ° λ³κ²½ -----------');
iveList[3] = 'μ£Όλ
';
print('----------- μ 체 리μ€νΈλ₯Ό μΆλ ₯ν΄λ³΄μ -----------');
print(iveList);
}
μΆλ ₯κ°
----------- μ 체 리μ€νΈλ₯Ό μΆλ ₯ν΄λ³΄μ -----------
[μ μ§, μμ, μ΄μ, λ μ΄, 리μ¦, κ°μ]
----------- 첫λ²μ§Έ μμλ₯Ό μΆλ ₯ν΄λ³΄μ -----------
μ μ§
----------- λ€μ―λ²μ§Έ μμλ₯Ό μΆλ ₯ν΄λ³΄μ -----------
리μ¦
----------- 리μ€νΈ κΈΈμ΄λ₯Ό μΆλ ₯ν΄λ³΄μ -----------
6
----------- μΈλ±μ€ κ° λ³κ²½ -----------
----------- μ 체 리μ€νΈλ₯Ό μΆλ ₯ν΄λ³΄μ -----------
[μ μ§, μμ, μ΄μ, μ£Όλ
, 리μ¦, κ°μ]
- 리μ€νΈ κΈΈμ΄λ lengthλ₯Ό κ°μ Έμ νμΈν μ μμ΅λλ€.
π add() ν¨μ
add() ν¨μλ Listμ κ°μ μΆκ°ν λ μ¬μ©λλ©° μΆκ°νκ³ μΆμ κ°μ λ§€κ°λ³μμ μ λ ₯νλ©΄ λ©λλ€.
void main() {
List<String> iveList = ['μ μ§', 'μμ', 'μ΄μ', 'λ μ΄', '리μ¦', 'κ°μ'];
iveList.add('μ£Όλ
'); // 리μ€νΈμ λμ μΆκ°λ¨
print(iveList);
}
/Users/junhyuk/flutter/bin/cache/dart-sdk/bin/dart --enable-asserts /Users/junhyuk/Desktop/untitled/lib/main.dart
[μ μ§, μμ, μ΄μ, λ μ΄, 리μ¦, κ°μ, μ£Όλ
]
Process finished with exit code 0
π where() ν¨μ
where() ν¨μλ Listμ μλ κ°λ€μ μμλλ‘ μννλ©΄μ νΉμ 쑰건μ λ§λ κ°λ§ νν°λ§νλλ° μ¬μ©λ©λλ€.
λ§€κ°λ³μμ ν¨μλ₯Ό μ λ ₯ν΄μΌνλ©°, μ λ ₯λ ν¨μλ κΈ°μ‘΄ κ°μ νλμ© λ§€κ°λ³μλ‘ μ λ ₯λ°μ΅λλ€. κ° κ°λ³λ‘ trueλ₯Ό λ°ννλ©΄ κ°μ μ μ§νκ³ , falseλ₯Ό λ°ννλ©΄ κ°μ λ²λ¦½λλ€. μνκ° λλλ©΄ μ μ§λ κ°λ€μ κΈ°λ°μΌλ‘ μ΄ν°λ¬λΈμ΄ λ°νλ©λλ€.
* μ΄ν°λ¬λΈ?
- Listλ Set λ±μ 컬λ μ νμ λ€μ΄ μμλ°λ ν΄λμ€
- Listλ Set κ°μ 컬λ μ μ΄ κ³΅ν΅μΌλ‘ μ¬μ©νλ κΈ°λ₯μ μ μν΄λ ν΄λμ€
- where() μ΄λ map() λ± μμκ° μλ κ°μ λ°νν λ μ¬μ©
void main() {
List<String> iveList = ['μ μ§', 'μμ', 'μ΄μ', 'λ μ΄', '리μ¦', 'κ°μ'];
final newList = iveList.where((name) => name == 'μ μ§' || name == 'μμ', ); // 'μ μ§' λλ 'μμ' λ§ μ μ§
print(newList);
print(newList.toList()); // μ΄ν°λ¬λΈμ 리μ€νΈλ‘ λ€μ λ°νν λ toList μ¬μ©
}
/Users/junhyuk/flutter/bin/cache/dart-sdk/bin/dart --enable-asserts /Users/junhyuk/Desktop/untitled/lib/main.dart
(μ μ§, μμ)
[μ μ§, μμ]
Process finished with exit code 0
π map() ν¨μ
map ν¨μλ Listμ μλ κ°λ€μ μμλλ‘ μννλ©΄μ κ°μ λ³κ²½ν μ μμ΅λλ€.
λ§€κ°λ³μμ ν¨μλ₯Ό μ λ ₯ν΄μΌ νλ©° μ λ ₯λ ν¨μλ κΈ°μ‘΄ κ°μ νλμ© λ§€κ°λ³μλ‘ λ°μ΅λλ€. λ°ννλ κ°μ΄ νμ¬κ°μ λ체νλ©° μνκ° λλλ©΄ μ΄ν°λ¬λΈμ΄ λ°νλ©λλ€.
void main() {
List<String> iveList = ['μ μ§', 'μμ', 'μ΄μ', 'λ μ΄', '리μ¦', 'κ°μ'];
final newIveList = iveList.map((name) => 'μμ΄λΈ $name'); // 리μ€νΈμ λͺ¨λ κ° μμ 'μμ΄λΈ' μΆκ°
print(newIveList);
print(newIveList.toList());
}
(μμ΄λΈ μ μ§, μμ΄λΈ μμ, μμ΄λΈ μ΄μ, μμ΄λΈ λ μ΄, μμ΄λΈ 리μ¦, μμ΄λΈ κ°μ)
[μμ΄λΈ μ μ§, μμ΄λΈ μμ, μμ΄λΈ μ΄μ, μμ΄λΈ λ μ΄, μμ΄λΈ 리μ¦, μμ΄λΈ κ°μ]
'Flutter' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νλ¬ν° κΈ°λ³Έμμ ― (0) | 2024.03.30 |
---|---|
typedefμ ν¨μ (0) | 2024.03.30 |
TodoList App λ§λ€κΈ° (0) | 2024.03.21 |
Flutter MVVM ν¨ν΄ - 1 (0) | 2024.03.19 |
dart λΉλκΈ° νλ‘κ·Έλλ° - 3 (0) | 2024.03.15 |