構造体(struct)は、さまざまなデータ型(レコード)を組み合わせて宣言します。スしたり、同じアドレスを返す名前で宣言された構造体にアクセスしたりできます。​オブジェクト指向プログラミング方面から来た方であればclassと見なすこともできなくはありませんが、構造体はより制約が多くなっています。構造体は(ヒープではなく)スタックに配置されます。構造体のインスタンスを新たに作成するときには、各フィールドをカンマ,で区切ることもできます。これはワンライナーでインスタンスを作成するときに便利です。}&プレフィックス構造体はヒープに配置して参照することもできます。これを行うには、以下のように&プレフィックスを追加します。"Canada"}println(user.name)変数userの型は&Userになり、Userへの参照となります。構造体のフィールドはデフォルトで「private」(モジュールの外からアクセスできない)かつ「イミュータブル」です。これはpubやmutアクセス指定子で変更できます。ュータブル」にできます。子で複数のフィールドをまとめて指定できる)}pub:を指定すると「publicかつイミュータブル」(リードオンリー)にできます。mut:を指定すると「public」かつ「親モジュールの中でのみミュータブル」になります。publicだが親モジュールでのみミュータブル}__global:を指定すると、親モジュールの中か外かを問わず「publicかつミュータブル」になります。string}命名のルールstructの名前は常に大文字で始めること。構造体の中の変数(フィールド)についてはSnake_Caseにする。フィールドのスネークケース縛りは近々変更される可能性あり。演習1.Userの情報を保存して表示する構造体を作成しましょう。2.xフィールドとyフィールドを持つPoint構造体を作成し、フィールドをそれぞれprivateとpublicにしましょう。