Rust之语法<2>函数

每个Rust程序至少有一个函数,那就是:main 函数:

fn main(){
}

这是最简单的函数声明方式。就像我们之前提到的那样,关键字fn(function缩写) 表明这是一个函数,fn 后面跟上函数名,接着是() 用来放函数的参数,最后是{ } 放函数体。下面是另一个函数:

fn foo(){
}

那么,函数有一些参数怎么样呢?请看:

fn print_number(x:i32){
     println!("x is :{}",x);
}

下面是使用print_number 函数的完整程序:

fn main(){
    print_number(5);
}

fn print_number(x:i32){
    println!("x is :{}",x);

就像你看到的那样,函数参数和let声明一样:在参数名后添加和参数类型

不像let ,你一定要声明函数参数的类型。下面的代码是错误的:

fn print_number(x,y){
    println!("sum is :{}",x+y);
}

编译程序,得到这样的错误:

src/main.rs:5:18: 5:19 error: expected one of `:` or `@`, found `,`
src/main.rs:5 fn print_number(x,y){

如果函数有一个返回值是怎样的呢?这里有个函数,作用是向一个整数加1:

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

Rust函数返回一个值,可以在”arrow”,即-> 后面声明返回值类型。函数体的最后一行决定着函数的返回值,要注意返回值的表达式是没有”;“符号的。

diverging functions即分支函数

Rust为分支函数准备了一些特殊的函数,分支函数是一类不返回的函数:

fn diverges() -> ! {
    panic!("This function never returns!");
}

println! 相似,panic! 也是一个宏。与println 不同,panic() 会引起当前执行的线程崩溃,并且会给出一些信息。

因为这个函数会引起崩溃,所以它永远不会返回,函数返回值是 ,读作"diverge" ,一个分支函数可以被当作任何类型:

let x: i32 = diverges();
let x: String = diverges();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值