我使用了 Vec::get
并且遇到了一些我不理解的输出。这是代码:
fn main() {
let command = [('G', 'H'), ('H', '5')];
for i in 0..3 {
print!(" {} ", i);
println!("{:?}", command.get(i));
}
}
输出结果为
0 Some(('G', 'H'))
1 Some(('H', '5'))
2 None
我之前尝试过Haskell,但只看了10分钟教程就逃回了C++。不过我记得在Haskell中有关于Some
和None
的介绍。我很惊讶地发现在Rust中也有这个。能否有人解释一下为什么.get()
返回Some
或None
?
ptr::null()
函数创建一个空指针。不过你回答的精神是正确的。 - Shepmaster