fn get_csv_u8_slice() -> Vec<u8> {
    r#"a,b,c
111,222,333
china,usa,england"#.as_bytes().to_vec()
}

// fn example() -> Result<(), Box<dyn Error>> {
//     let mut rdr = csv::Reader::from_reader(io::stdin());
//     for result in rdr.records() {
//         // Result<StringRecord, Error>
//         let record = result?;
//         println!("{:?}", record);
//     }
//     Ok(())
// }

// https://crates.io/crates/csv
fn main() {
    let csv_u8_slice: &[u8] = &get_csv_u8_slice()[..];
    let mut rdr = csv::Reader::from_reader(csv_u8_slice);
    for result in rdr.records() {
        if let Ok(r) = result {
            println!("{:?}", r);
        }
    }
}