我了解当查询 Storage 以获取不存在的键时,Substrate 将返回 0 或 null 值。它对 Option 类型有什么特别的作用吗?
我问是因为在默认节点模板中,存储项目 Something 被声明为
Something: Option<u32>;
但稍后在do_somethingsetter 中,方法签名声明something: u32,但直接传递它而不将其包装在Some():
Something::put(something);
代替
Something::put(Some(something));
如果 Substrate 将对 store 的调用解释T为 storage Some<T>,这是否也意味着如果我None针对某个键存储在映射中,那么它将删除该键?是存储Some(T)还是T?
或者仅仅是 Rust 正在为Something::put(some: T)case 和构建一个专门的方法调用Something::put(some: Option<T>)?