#[derive(GetSet)]
{
// Attributes available to this derive:
#[get_set]
}
Expand description
为结构体自动生成 getter 和 setter 方法。
该宏会为结构体的每个字段生成对应的 get_{field} 和 set_{field} 方法,
除非字段上使用了 #[get_set(...)] 属性进行跳过控制。
§字段属性控制
#[get_set(skip)]:跳过该字段的 getter 和 setter 生成。#[get_set(skip_get)]:仅跳过 getter 方法的生成。#[get_set(skip_set)]:仅跳过 setter 方法的生成。
§示例
#[derive(GetSet)]
struct MyStruct {
#[get_set(skip)]
field1: i32, // 不生成任何方法
field2: i32, // 生成 get_field2() 和 set_field2()
#[get_set(skip_get)]
field3: i32, // 仅生成 set_field3()
#[get_set(skip_set)]
field4: i32, // 仅生成 get_field4()
}Automatically generate getter and setter methods for structures.
This macro will generate corresponding ‘get_ {field}’ and ‘set_ {field}’ methods for each field of the structure, Unless the ‘# [get_det (…)’ attribute is used on the field for skip control.
§Field attribute control
# [get_det (skip)]: Skip the generator and setter generation for this field.# [get_det (skip_get)]: Only skip the generation of the getter method.# [get_det (skip_set)]: Skip only the generation of setter methods.
§Example
#[derive(GetSet)]
struct MyStruct {
#[get_set(skip)]
field1: i32, //Do not generate any methods
field2: i32, //Generate get_field2() and set_field2()
#[get_set(skip_get)]
field3: i32, //Only generate set_field3()
#[get_set(skip_set)]
field4: i32, //Only generate get_field4()
}