函数参数旁边的两个单引号括起来的字母是什么意思?

What do letters enclosed by two single quotes next to a function argument mean?

当我遇到一些我找不到任何相关的语法时,我尝试使用 Rust 的 LAPACK 绑定。

来自 https://github.com/stainless-steel/lapack 的示例代码:

let n = 3;

let mut a = vec![3.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.0];
let mut w = vec![0.0; n];
let mut work = vec![0.0; 4 * n];
let lwork = 4 * n as isize;
let mut info = 0;

lapack::dsyev(b'V', b'U', n, &mut a, n, &mut w, &mut work, lwork, &mut info);

for (one, another) in w.iter().zip(&[2.0, 2.0, 5.0]) {
    assert!((one - another).abs() < 1e-14);
}

b'V'b'U' 是什么意思?

它使用引号之间字符的 ASCII 值创建一个 u8 值。

对于 ASCII 字面值,与 'V' as u8 相同。

此外,双引号字符串上的 b 前缀将创建一个包含字符串的 UTF8 内容的字节数组。

let s: &[u8; 11] = b"Hello world";

b'A'表示创建一个字节文字。具体来说,它将是一个 u8 包含字符的 ASCII 值:

fn main() {
    let what = b'a';
    println!("{}", what);
    // let () = what;
}

注释行向您展示了如何查找类型。

b"hello" 类似,但会产生对 u8 数组的引用,一个 字节字符串 :

fn main() {
    let what = b"hello";
    println!("{:?}", what);
    // let () = what;
}

此类内容记录在 Syntax Index 中,目前仅在文档的夜间版本中可用。