内部ではフィールドと呼ばれるデータ片の名前と型を定義します。以下のコードはユーザーアカウントに関する情報を保持する構造体です。bool,}構造体を使用するには、各フィールドに対して具体的な値を指定した構造体のインスタンスを生成します。インスタンスはフィールド名とそのフィールドに格納したいデータを指定することで生成できます。フィールドは構造体で宣言した通りの順番に指定する必要はありません。以下のコードのように特定のユーザーを宣言できます。1,};構造体からフィールドの値を取得するにはドット記法を使います。インスタンスが可変であればドット記法を使い、特定のフィールドに代入することで値を変更できます。String::from("anotheremail@example.com");インスタンス自体を可変にするため、一部のフィールドのみを可変にはできません。構造体の新規インスタンスを関数本体の最後の式として、そのインスタンスを返すことができます。オブジェクト生成と同じように、関数の仮引数名と構造体のフィールド名がまったく同じな場合、フィールド初期化省略記法が使えます。繰り返し記述する必要がなくなります。オブジェクト生成と同じように、前のインスタンスの値を使用しつつ、変更する箇所もある形で新しいインスタンスを生成できます。インスタンスを生成する方法を示します。いう記法で構造体更新記法を使用すると、明示的にセットされていない残りのフィールドが、与えられたインスタンスのフィールドと同じ値になるように指定します。構造体はありますが、クラスはありません。オブジェクト指向プログラミングを可能にするための機能がいくつか実装されています。ブロック上で構造体に対して定義されます。なり、これはメソッドが呼び出されている構造体インスタンスを表します。メソッドを定義しています。引数に取らない関数を定義できます。これは構造体に関連付けられているため、関連関数と呼ばれます。関連関数は関数であり、メソッドではありません。いうのも、対象となる構造体のインスタンスが存在しないからです。関連関数にあたります。関連関数は、構造体の新規インスタンスを返すコンストラクターによく使用されます。