您的位置:首页 > 其它

rust 语法和语义 02 函数

2018-02-25 16:02 267 查看

rust 语法和语义 02 函数

函数 functions

概述

fn func_name(var1 : u32, var2 : u32) -> u32
{
let return_val : u32 = var1 + var2;
return_val // return without ';'
}


函数声明

使用关键字
fn
声明一个函数。

fn func_name() {...}


函数参数

使用逗号
,
分割参数。且必须为参数
声明类型 type annotations


fn func_name(var1 : u32, var2 : i32) {...}


函数返回

rust函数只能返回
1
个值。

rust是基于
表达式
的语言。

在函数声明的一个箭头
->
后面,
声明返回值类型 type annotations


在函数中,返回的表达式不加分号semicolon
';'


fn add_one(x: u32) -> u32
{
x + 1
}


提早返回 early returns

使用关键字
return


fn foo(x: u32, y: u32) -> u32
{
return x;   // 提早返回 return + ;
x + 1       // never run this code
}


可以在最后返回时也使用return语句,但这被认为是一种糟糕的风格。请记住:

rust是基于
表达式
的语言。

发散函数 diverging functions

发散函数并不返回。返回类型
!
代表
发散


fn diverges() -> ! {
panic!("this function nerver returns!");
}


发散函数可以被用作任何类型。

let x: i32 = diverges()
let x: string = diverges()


函数指针

指向函数的指针(变量绑定)。

let pFunc: fn(u32) -> u32;


参考

The Rust Programming Language

Rust 程序设计语言(第一版) 简体中文版
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  rust 发散函数