構造体
構造体(struct)は、さまざまなデータ型(レコード)を組み合わせて宣言します。構造体は、さまざまな変数のリストをメモリの1つのブロックの中でひとつの名前で物理的にグループ化することで、単一のポインタでさまざまな変数にアクセ スしたり、同じアドレスを返す名前で宣言された構造体にアクセスしたりできます。
struct User {
name string
email string
country string
}
fn main() {
user := User {
name: "V developers"
email: "[email protected]"
country: "Canada"
}
println(user.country)
}
注意: 構造体は(ヒープではなく)スタックに配置されます。
構造体のインスタンスを新たに作成するときには、各フィールドをカンマ
,
で区切ることもできます。これはワンライナーでインスタンスを作成するときに便利です。user := User { name: "V developers", email: "[email protected]", country: "Canada" }
構造体はヒープに配置して参照することもできます。これを行うには、以下のように
&
プレフィックスを追加します。user := &User{"V developers", "[email protected]", "Canada"}
println(user.name)
変数
user
の型は&User
になり、User
への参照となります。