Keyword fn[−][src]
Expand description
一个函数或函数指针。
函数是在 Rust 中执行代码的主要方式。通常称为函数的函数块可以在各种不同的位置定义,并分配有许多不同的属性和修饰符。
仅位于未附加任何模块的模块中的独立函数是常见的,但是大多数函数最终将最终位于 impl
块中,或者位于另一种类型本身上,或者作为该类型的 trait 隐式实现。
fn standalone_function() { // code } pub fn public_thing(argument: bool) -> String { // code } struct Thing { foo: i32, } impl Thing { pub fn new() -> Self { Self { foo: 42, } } }Run
除了以 fn name(arg: type, ..) -> return_type
形式显示固定类型外,函数还可以声明类型参数列表以及它们所属的 trait bounds。
fn generic_function<T: Clone>(x: T) -> (T, T, T) { (x.clone(), x.clone(), x.clone()) } fn generic_where<T>(x: T) -> T where T: std::ops::Add<Output = T> + Copy { x + x + x }Run
在尖括号中声明 trait bounds 在功能上与使用 where
子句相同。
由程序员决定在每种情况下哪种效果更好,但是当事情长于一行时,where
往往会更好。
除了通过 pub
公开之外,fn
还可以添加 extern
以用于 FFI。