Dart3 Patterns
A pattern represents a structure that one or more values can take, like a blueprint. Patterns compare against actual values determine if they -match-
Some patterns, when they match, -destructure- the matched value by pulling data out of it. Destructuring lets you unpack values from an object to assign them to local variables, or perform further matching on them.
![Screenshot 2023-08-24 at 17 57 29](https://private-user-images.githubusercontent.com/41922364/263123691-c76f7dd8-8d6e-4a0a-8414-57bc4c9a9fe6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1NjkxODgsIm5iZiI6MTcxOTU2ODg4OCwicGF0aCI6Ii80MTkyMjM2NC8yNjMxMjM2OTEtYzc2ZjdkZDgtOGQ2ZS00YTBhLTg0MTQtNTdiYzRjOWE5ZmU2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI4VDEwMDEyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM0ZTBjZDRlNWU1OTdhNWI1YWEwMWQxNDJjM2IyNjE5OTYzYTg5ZDQ2YjIyOTVjZmQ2ZTA5ZjkyMjRkZWFkNzUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.3a9cW4hrR1CBETTNvseSI9ihnB_GE0JjOXDzMfB9rtw)