pub struct RangeFull;
Expand description
无限制范围 (..
)。
RangeFull
主要用作 切片索引,其简写为 ..
。
它不能用作 Iterator
,因为它没有起点。
Examples
..
语法是一个 RangeFull
:
assert_eq!((..), std::ops::RangeFull);
Run它没有 IntoIterator
实现,因此不能直接在 for
循环中使用它。
这不会编译:
用作 切片索引 时,RangeFull
产生完整的阵列作为切片。
let arr = [0, 1, 2, 3, 4];
assert_eq!(arr[ .. ], [0, 1, 2, 3, 4]); // 这是 `RangeFull`
assert_eq!(arr[ .. 3], [0, 1, 2 ]);
assert_eq!(arr[ ..=3], [0, 1, 2, 3 ]);
assert_eq!(arr[1.. ], [ 1, 2, 3, 4]);
assert_eq!(arr[1.. 3], [ 1, 2 ]);
assert_eq!(arr[1..=3], [ 1, 2, 3 ]);
RunTrait Implementations§
1.28.0 · source§impl<T> RangeBounds<T> for RangeFullwhere
T: ?Sized,
impl<T> RangeBounds<T> for RangeFullwhere T: ?Sized,
1.15.0 (const: unstable) · source§impl<T> SliceIndex<[T]> for RangeFull
impl<T> SliceIndex<[T]> for RangeFull
const: unstable · source§fn get(self, slice: &[T]) -> Option<&[T]>
fn get(self, slice: &[T]) -> Option<&[T]>
🔬This is a nightly-only experimental API. (
slice_index_methods
)如果在边界内,则返回此位置输出的共享引用。
const: unstable · source§fn get_mut(self, slice: &mut [T]) -> Option<&mut [T]>
fn get_mut(self, slice: &mut [T]) -> Option<&mut [T]>
🔬This is a nightly-only experimental API. (
slice_index_methods
)如果在边界内,则对此位置的输出返回一个可变引用。
const: unstable · source§unsafe fn get_unchecked(self, slice: *const [T]) -> *const [T]
unsafe fn get_unchecked(self, slice: *const [T]) -> *const [T]
🔬This is a nightly-only experimental API. (
slice_index_methods
)返回此位置输出的共享引用,而不执行任何边界检查。
即使未使用所得的引用,使用越界索引或悬垂的
slice
指针调用此方法也是 [undefined 行为]。const: unstable · source§unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut [T]
unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut [T]
🔬This is a nightly-only experimental API. (
slice_index_methods
)返回此位置输出的变量引用,而不执行任何边界检查。
即使未使用所得的引用,使用越界索引或悬垂的
slice
指针调用此方法也是 [undefined 行为]。1.20.0 (const: unstable) · source§impl SliceIndex<str> for RangeFull
impl SliceIndex<str> for RangeFull
使用语法 &self[..]
或 &mut self[..]
实现子字符串切片。
返回整个字符串的切片,即返回 &self
或 &mut self
。相当于 &self[0 .. len]
或 &mut self[0 .. len]
.
与其他索引操作不同,此操作永远不能 panic。
此运算为 O(1)。
在 1.20.0 之前,Index
和 IndexMut
的直接实现仍支持这些索引操作。
等效于 &self[0 .. len]
或 &mut self[0 .. len]
。
const: unstable · source§fn get(self, slice: &str) -> Option<&<RangeFull as SliceIndex<str>>::Output>
fn get(self, slice: &str) -> Option<&<RangeFull as SliceIndex<str>>::Output>
🔬This is a nightly-only experimental API. (
slice_index_methods
)如果在边界内,则返回此位置输出的共享引用。
const: unstable · source§fn get_mut(
self,
slice: &mut str
) -> Option<&mut <RangeFull as SliceIndex<str>>::Output>
fn get_mut( self, slice: &mut str ) -> Option<&mut <RangeFull as SliceIndex<str>>::Output>
🔬This is a nightly-only experimental API. (
slice_index_methods
)如果在边界内,则对此位置的输出返回一个可变引用。
const: unstable · source§unsafe fn get_unchecked(
self,
slice: *const str
) -> *const <RangeFull as SliceIndex<str>>::Output
unsafe fn get_unchecked( self, slice: *const str ) -> *const <RangeFull as SliceIndex<str>>::Output
🔬This is a nightly-only experimental API. (
slice_index_methods
)返回此位置输出的共享引用,而不执行任何边界检查。
即使未使用所得的引用,使用越界索引或悬垂的
slice
指针调用此方法也是 [undefined 行为]。const: unstable · source§unsafe fn get_unchecked_mut(
self,
slice: *mut str
) -> *mut <RangeFull as SliceIndex<str>>::Output
unsafe fn get_unchecked_mut( self, slice: *mut str ) -> *mut <RangeFull as SliceIndex<str>>::Output
🔬This is a nightly-only experimental API. (
slice_index_methods
)返回此位置输出的变量引用,而不执行任何边界检查。
即使未使用所得的引用,使用越界索引或悬垂的
slice
指针调用此方法也是 [undefined 行为]。impl Copy for RangeFull
impl Eq for RangeFull
impl StructuralEq for RangeFull
impl StructuralPartialEq for RangeFull
Auto Trait Implementations§
impl RefUnwindSafe for RangeFull
impl Send for RangeFull
impl Sync for RangeFull
impl Unpin for RangeFull
impl UnwindSafe for RangeFull
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
从拥有的值中借用。 Read more