onst 값을 알 수 있어서 함수에 const를 사용하게 되면 빌드를 재 실행 하여도 const를 사용한 함수는 다시 실행되지 않는다.
import 'package:flutter/material.dart';
class HomeScreen extends StatefulWidget {
const HomeScreen({super.key});
@override
State<HomeScreen> createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
width: MediaQuery.of(context).size.width,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const TestWidget(label: 'test1'),
const TestWidget(label: 'test2'),
ElevatedButton(
onPressed: () {
setState(() {});
},
child: const Text('빌드!'),
)
],
),
),
);
}
}
class TestWidget extends StatelessWidget {
final String label;
const TestWidget({required this.label, super.key});
@override
Widget build(BuildContext context) {
print('$label build 실행!');
return Container(
child: Text(
label,
),
);
}
}


const를 사용하면 해당 함수는 빌드 재 실행 시 실행되지 않는다.

모든 값을 알고 있다고 가정했을 때 const를 사용하면 리소스를 절약할 수 있다.
padding Widget
상, 하, 좌, 우에 공간을 지정하는 위젯
Padding(
padding: const EdgeInsets.all(8.0)
)
2. EdgeInsets.fromLTRB 상, 하, 좌, 우 값을 지정하여 공간을 생성
Padding(
padding: const EdgeInsets.fromLTRB(10, 5, 5, 10),
)
3. EdgeInsets.symmetric 상, 하 같은 값, 좌, 우 같은 값을 지정하여 공간을 생성
padding: const EdgeInsets.symmetric(
horizontal: 8, //좌, 우
vertical: 10, // 상, 하
),
Map 함수 실전 적용 !
void main() {
final number='123';
print(number.toString().split('').map((x)=>'$x.jpg').toList());
final numbers= [
123,
456,
789,
];
print(
numbers.map(
(x)=>x.toString().split('').map(
(y)=>'$y.jpg',
).toList()
).toList()
);
}