P.TYP.SLC.02 宜使用切片模式来提升代码的可读性

【描述】

切片也支持模式匹配,适当应用切片模式,可以有效提升代码可读性。

【正例】

利用切片模式编写判断回文字符串(如"aba"、"abba"之类)的函数。代码来自于:Daily Rust: Slice Patterns,还有更多用例。


#![allow(unused)]
fn main() {
pub fn word_is_palindrome(word: &str) -> bool {
    let letters: Vec<_> = word.chars().collect();

    is_palindrome(&letters)
}
// 符合:利用切片模式匹配来判断是否回文字符串
fn is_palindrome(items: &[char]) -> bool {
    match items {
        [first, middle @ .., last] => first == last && is_palindrome(middle),
        [] | [_] => true,
    }
}
}