Async and Practical
URI Parse Lite
Uri.parse(...) breaks a URL string into a structured value with host, pathSegments, and queryParameters. The example reads each piece and prints a compact summary.
Program
Play the program to pull host, page, and step from a fixed URL.
uri_parse_lite.dart
Replay: real traced execution (multi-file project)
void main() {
var uri = Uri.parse('https://egtry.dev/dart/hello?step=5');
var host = uri.host;
var page = uri.pathSegments.last;
var step = uri.queryParameters['step'] ?? '0';
print('$host $page step=$step');
}
uri ← https://egtry.dev/dart/hello?step=5
1void main() {2 var uri = Uri.parse('https://egtry.dev/dart/hello?step=5');3 var host = uri.host;values this stephttps://egtry.dev/dart/hello?step=5urihost ← egtry.dev
2var uri = Uri.parse('https://egtry.dev/dart/hello?step=5');3var host = uri.host;4var page = uri.pathSegments.last;values this stepegtry.devhostpage ← hello
3var host = uri.host;4var page = uri.pathSegments.last;5var step = uri.queryParameters['step'] ?? '0';values this stephellopagestep ← 5
4var page = uri.pathSegments.last;5var step = uri.queryParameters['step'] ?? '0';6print('$host $page step=$step');values this step5stepprint('$host $page step=$step');
5 var step = uri.queryParameters['step'] ?? '0';6 print('$host $page step=$step');7}outputegtry.dev hello step=5values this stepegtry.devhosthellopage5step
Uri.parse
`Uri.parse(...)` splits a URL string into host, path segments, and query parameters.
pathSegments
`uri.pathSegments` is the path split on `/`, so `.last` gives the leaf name.
queryParameters
`uri.queryParameters['step'] ?? '0'` reads a query value with a safe default.