use std::collections::HashMap;
let query = String::from("name=Tom&age=18&hobby=coding");
let qp = QueryParser::from_string(query.clone());
println!("params: {:#?}", qp);
let qp2 = EnhancedQueryParser::from_string(&query);
println!("params: {:#?}", qp2);
let name = qp2.params.get("name").unwrap();
println!("name: {}", name);
params: HashMap<String, String>,
fn from_string(query: String) -> Self {
let params: HashMap<String, String> = query
let mut parts = item.split("=");
let key = String::from(parts.next().expect("no key"));
let value = String::from(parts.next().unwrap());
struct EnhancedQueryParser<'a> {
params: HashMap<&'a str, &'a str>,
impl<'a> EnhancedQueryParser<'a> {
fn from_string(query: &'a str) -> Self {
let params: HashMap<&'a str, &'a str> = query
let mut parts = kv.split("=");
(parts.next().unwrap(), parts.next().unwrap())