オブジェクト¶
はじめに¶
本サイトにつきまして、【IT技術の知見】はじめに - 俺の技術ノート をご認識のほど宜しくお願いいたします。
01. 構造体・属性¶
struct¶
struct は、複数のフィールドを持つ型 (構造体) を定義する。
インスタンスは、Organization { name: ..., role_name: ..., current: ... } のように全フィールドの値を指定して作る。
// 構造体を定義する
pub struct Organization {
// フィールド名: 型
pub name: String,
pub role_name: String,
pub current: bool,
}
derive 属性¶
#[derive(...)] 属性は、型に機能を自動で実装する (例:Debug は {:?} での表示、PartialEq は == での比較、Deserialize は JSON からの変換) 。
#[serde(rename_all = "camelCase")] 属性は、JSON の roleName キーを role_name フィールドに対応づける。
// {:?} での表示、JSON からの変換、== での比較を自動で実装する
#[derive(Debug, Deserialize, PartialEq)]
// JSON のキーをキャメルケースとして扱う
#[serde(rename_all = "camelCase")]
pub struct Organization {
pub name: String,
// JSON の roleName キーに対応する
pub role_name: String,
}