正弦函数在哪里?

Where is the sine function?

简单的问题:sin()在哪里?我搜索过,只在 Rust 文档中发现有像 std::num::Float 这样 require sin 的特征,但没有 implementation.

Float是Trait,包括实现,导入这个申请f32或者f64。

use std::num::Float;

fn main() {
    println!("{}", 1.0f64.sin());
}

删除了 Float 特征,并且这些方法现在是类型的固有实现 (f32, f64)。这意味着访问数学函数的输入要少一些:

fn main() {
    let val: f32 = 3.14159;
    println!("{}", val.sin());
}

但是,如果 3.14159.sin() 指的是 32 位或 64 位数字,则有歧义,因此您需要明确指定它。上面我设置了变量的类型,但是你也可以使用类型后缀:

fn main() {
    println!("{}", 3.14159_f64.sin());
}

您也可以使用 fully qualified syntax:

fn main() {
    println!("{}", f32::sin(3.14159));
}

真正的代码应该使用PI常量;我使用了内嵌数字以避免使问题复杂化。