Create a struct in Rust called **Product** with fields like **name**, **price**, and **quantity**. Then implement methods to calculate the total value of a given product based on the quantity in stock.
```rust
struct Product {
name: String,
price: f64,
quantity: u32,
}
impl Product {
// Method for creating a new product
fn new(name: String, price: f64, quantity: u32) -> Self
{
Product { name, price, quantity }
}
// Method to calculate the total value of the product based on the quantity in stock
fn total_value(&self) -> f64 {
self.price * self.quantity as f64
}
}
fn main() {
let product = Product::new(String::from("Laptop"), 1000.0, 5);
println!("Total value of {} in stock: ${}", product.name, product.total_value());
}
```
In this example, the struct Product has three fields: name (of type String), price (of type f64) and quantity (of type u32). Next, we implement an associated new() method to create a new instance of Product and a total_value() method that calculates the total value of the product by multiplying the price by the quantity in stock. In main(), we exemplify the use of the struct and the methods created.