Hone logo
Hone
Problems

Defining Custom Data Structures with Structs in Rust

Rust's structs allow you to define your own custom data types, grouping related data together. This is a fundamental building block for creating more complex programs and modeling real-world entities. This challenge will test your understanding of struct definitions, including named fields and their types.

Problem Description

You are tasked with defining a City struct in Rust. This struct should represent a city and contain the following information:

  • name: A String representing the name of the city.
  • population: A u32 representing the population of the city.
  • is_capital: A bool indicating whether the city is a capital city.

Your solution should define the City struct with these fields and their corresponding types. You do not need to implement any methods for the struct in this challenge; the focus is solely on the struct definition itself.

Examples

Example 1:

// No input needed, just the struct definition
// Output:
// struct City {
//     name: String,
//     population: u32,
//     is_capital: bool,
// }

Explanation: The City struct is defined with three fields: name (String), population (u32), and is_capital (bool).

Example 2:

// No input needed, just the struct definition
// Output:
// struct City {
//     city_name: String,
//     city_population: u32,
//     capital: bool,
// }

Explanation: The City struct is defined with three fields: city_name (String), city_population (u32), and capital (bool). Field names can be chosen freely, as long as they are valid Rust identifiers.

Constraints

  • The struct must be named City.
  • The fields must be named name, population, and is_capital (case-sensitive).
  • The types of the fields must be String, u32, and bool respectively.
  • The code must be valid Rust code and compile without errors.

Notes

  • This challenge focuses on the basic syntax of struct definitions in Rust.
  • Consider the purpose of each field when choosing appropriate data types. u32 is used for population as it represents an unsigned 32-bit integer, suitable for non-negative population counts.
  • Rust is statically typed, so you must explicitly declare the type of each field.
  • The order of fields within the struct definition does not affect its functionality.
Loading editor...
rust