2 个版本
0.1.2 | 2019年10月19日 |
---|---|
0.1.1 | 2019年10月17日 |
#2257 在 开发工具
23 每月下载量
用于 macro_tt_utils
9KB
84 行
Goto
goto 操作符的安全但不完整实现。
注意!!
- 目前,这并不是 goto 操作符的完整实现。
- 我们不打算违反 Rust 的安全标准。我们提供了有用且有趣的宏,它们部分(或全部)实现了 goto 操作符。
gpoint
"GOTO point",允许您稍后返回到此行。
#[macro_use]
extern crate goto;
fn main() {
let data = b"1234567890";
let mut iter = data.iter();
let mut a;
gpoint!['begin:
a = iter.next();
match a {
a @ Some(b'0') if a == Some(&b'9') => {
println!("#a 0!");
gpoint!['add:
];
},
Some(a) => {
println!("#a {}", unsafe { std::char::from_u32_unchecked(*a as u32) });
continue 'begin;
},
_ => break 'begin,
}
];
}
许可证
版权所有 2019 #UlinProject (Denis Kotlyarov) Денис Котляров
MIT 许可协议下授权
Apache 许可协议第 2.0 版下授权