/*
Define Constants
*/
const DISPLAY_TYPE_MULTI_LINE:bool=true;
/*
Declare Structure person_address
*/
#[derive(Debug)]
struct PersonAddress
{
person_name: String
, street_address: String
, city:String
, state:String
, postal_code:String
}
impl std::fmt::Display for PersonAddress
{
fn fmt
(
&self, f: &mut std::fmt::Formatter
) -> std::fmt::Result
{
let buffer:String;
if DISPLAY_TYPE_MULTI_LINE == false
{
buffer = format!
(
"\t{0}\n\tStreet Address:- {1}\n\tCity:- {2}\n\tState:- {3}\n\tPostal Code:- {4}"
, self.person_name
, self.street_address
, self.city
, self.state
, self.postal_code
);
}
else
{
buffer = format!
(
"\t{0}\n\
\tStreet Address:- {1}\n\
\tCity:- {2}\n\
\tState:- {3}\n\
\tPostal Code:- {4}\n\
"
, self.person_name
, self.street_address
, self.city
, self.state
, self.postal_code
);
}
let result =
writeln!
(
f
, "{}"
, buffer
);
return result;
}
}
fn main()
{
let mut person_name:String;
let mut street_address:String;
let mut city:String;
let mut state:String;
let mut postal_code:String;
let person_entry_quincy_jones:PersonAddress;
let person_entry_siedah_garrett:PersonAddress;
// Create struct with field init shorthand
person_name = String::from("Quincy Jones");
street_address = String::from("1819 Browne Street");
city = String::from("Chicago");
state = String::from("Illinois");
postal_code = String::from("60007");
//Initialize structure
person_entry_quincy_jones
= PersonAddress
{
person_name
, street_address
, city
, state
, postal_code
};
// Create struct with field init shorthand
person_name = String::from("Siedah Garrett");
street_address = String::from("117 Hawthorne Lane");
city = String::from("Los Angeles");
state = String::from("California");
postal_code = String::from("90001");
//Initialize structure
person_entry_siedah_garrett
= PersonAddress
{
person_name
, street_address
, city
, state
, postal_code
};
println!("Debug");
println!("*****");
println!(
"{:0?}"
, person_entry_quincy_jones
);
println!("");
println!
(
"{:0?}"
, person_entry_siedah_garrett
);
println!();
println!();
println!("Display");
println!("*******");
println!(
"{:0}"
, person_entry_quincy_jones
);
println!("");
println!
(
"{:0}"
, person_entry_siedah_garrett
);
}