本教程解释了Rust编程中可用的范围运算符。
范围运算符在Rust中也被称为两个句号(..)。下面是一个语法
the start是一个起始值 the end是一个结束值。
范围运算符可以在数组和向量中使用,以获得一个对象的片断。
Rust范围操作符
Rust提供了多种变化的范围操作符:
- 范围 它包括起始值,不包括结束值。 语法
返回的值是1,2,3,4。
下面是一个例子
fn main() {
let numbers = [0, 1, 2, 3, 4,5,6,7,8,9];
// array print
println!("{:?}", numbers);
println!("{:?}",&numbers[1..6] );
println!("{:?}",&numbers[1..1] );
}
输出:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5]
[]
- RangeFrom操作符 它包括起始值,省略了结束值。 语法
返回的值是1,2,3,4等永远的值。
下面是一个例子
fn main() {
let numbers = [0, 1, 2, 3, 4,5,6,7,8,9];
// array print
println!("{:?}", numbers);
println!("{:?}",&numbers[1..] );
println!("{:?}",&numbers[9..] );
}
输出:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[9]
- RangeTo操作符 它被认为是结束值,开始值被省略了。
起始值从1开始 结束值视为结束值-1。 语法
返回的值是0,1,2,3,4等值。
下面是一个例子
fn main() {
let numbers = [0, 1, 2, 3, 4,5,6,7,8,9];
// array print
println!("{:?}", numbers);
println!("{:?}",&numbers[..5] );
println!("{:?}",&numbers[..2] );
}
输出:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4]
[0, 1]
- RangeFull操作符 它被认为是一个开始和结束值。开始值被认为是0。结束值被认为是end-1。 语法
返回的值是0,1,2,3,4等永远的值。
下面是一个例子
fn main() {
let numbers = [0, 1, 2, 3, 4,5,6,7,8,9];
// array print
println!("{:?}", numbers);
println!("{:?}",&numbers[..] );
}
输出:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
它包括相等的运算符,如start..=end 它认为start 和end 值。Start 的值被认为是zero 。End 的值被认为是end 。语法
返回的值是0,1,2,3,4等永远的值。
下面是一个例子
fn main() {
let numbers = [0, 1, 2, 3, 4,5,6,7,8,9];
// array print
println!("{:?}", numbers);
println!("{:?}",&numbers[1..=4] );
}
输出:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4]
- RangeToInclusive运算符
它包括相等的运算符,如.=end和开始值被省略。它被认为是一个结束值。开始值被认为是零。末端值被认为是结束。 语法
返回的值是0,1,2,3,4等永远的值。
下面是一个例子
fn main() {
let numbers = [0, 1, 2, 3, 4,5,6,7,8,9];
// array print
println!("{:?}", numbers);
println!("{:?}",&numbers[0..=4] );
}
输出:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4]
结论
通过实例学习了Rust中的多个范围操作符