Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cookies “为什么可以?”;铁锈饼干::CookieJar“;通过str类型获取值_Cookies_Rust - Fatal编程技术网

Cookies “为什么可以?”;铁锈饼干::CookieJar“;通过str类型获取值

Cookies “为什么可以?”;铁锈饼干::CookieJar“;通过str类型获取值,cookies,rust,Cookies,Rust,我知道底层数据结构是一个HashSet,但是为什么get方法可以使用&str类型而不是cookie结构呢 cargo.toml [dependencies] cookie = "0.14" src/main.rs 使用cookie::{cookie,CookieJar}; fn main(){ 让mut-jar=CookieJar::new(); 添加(Cookie::new(“a”,“one”); 添加(Cookie::new(“b”,“two”); assert_eq!

我知道底层数据结构是一个
HashSet
,但是为什么
get
方法可以使用
&str
类型而不是cookie结构呢

cargo.toml

[dependencies]
cookie = "0.14"
src/main.rs

使用cookie::{cookie,CookieJar};
fn main(){
让mut-jar=CookieJar::new();
添加(Cookie::new(“a”,“one”);
添加(Cookie::new(“b”,“two”);
assert_eq!(jar.get(“a”).map(| c | c.value()),Some(“one”);
assert_eq!(jar.get(“b”).map(| c | c.value()),Some(“two”);
移除(Cookie::named(“b”);
断言!(jar.get(“b”).is_none());
}

cookie rs的作者以及

下面是一个模仿相同行为的示例:

使用标准::借用::借用;
使用std::hash::{hash,Hasher};
使用std::collections::HashSet;
#[导出(调试,Eq)]
结构Cookie{
fn eq(&self,其他:&Cookie)->bool{
self.name==other.name
}
}

请借给Cookie,签名是。在阅读了源代码之后,我不明白为什么get方法可以使用str来获取HashMap@hewc
HashSet::get
返回一个值,该值在借用时等于并散列为与参数相同的值。是
Cookie
的包装器,其全部目的是仅基于Cookie名称进行散列和比较,从而允许按名称从集合中检索Cookie。