如何在 Rust 中使用任意文本作为函数名?

Lir*_*rux 2 rust

Rust 有没有办法使用任何文本作为函数名?就像是:

fn 'This is the name of the function'  { ... } 
Run Code Online (Sandbox Code Playgroud)

我发现它对测试功能很有用,其他语言也允许这样做。

Ale*_*nov 7

不可能。根据官方参考

标识符是以下形式的任何非空 ASCII 字符串:

任何一个

  • 第一个字符是一个字母。
  • 其余字符为字母数字或_

或者

  • 第一个字符是_
  • 标识符不止一个字符。_单独不是标识符。
  • 其余字符为字母数字或_

原始标识符类似于普通标识符,但以r#. (请注意,r#前缀不作为实际标识符的一部分。)与普通标识符不同,原始标识符可以是任何严格或保留的关键字,除了上面列出的RAW_IDENTIFIER.


Jmb*_*Jmb 6

函数名中不能有空格(大多数编程语言都是如此)。Rust 中函数名称的通常做法是用下划线替换空格,因此允许以下内容:

fn This_is_the_name_of_the_function  { ... }
Run Code Online (Sandbox Code Playgroud)

尽管通常的做法会使用小写 t