首页 > 其他分享 >05_rust的函数、注释

05_rust的函数、注释

时间:2023-10-12 20:56:34浏览次数:29  
标签:语句 函数 05 注释 rust test 返回值 fn

rust的函数

声明函数使用fn关键字,针对函数和变量名,rust使用snake case命名规范,即所有字母小写,单词间用下划线分开。

fn main() {
    test_function();
}

fn test_function() {
    println!("test func");
}

rust比较特别的是,不像c、python等语言,自定义函数在main也能调用。

函数的参数
parameters(形参)、arguments(实参)。
在函数签名里,必须声明每个参数的类型。

fn main() {
    test_function(5, 6);
}

fn test_function(x: i32, y: i32) {
    println!("test func, {} {}", x, y);
}

函数里的语句与表达式
函数体由一系列语句组成,可选的由一个表达式结束。
rust是一个基于表达式的语言。

  • 语句(statement):一些执行动作的指令。函数的定义也是语句,语句不返回值,不能用let将一语句赋给变量。
  • 表达式(Expressions):会计算产生一个值,如计算表达式(5+6),表达式是语句一部分。

函数的返回值
在->符号后声明函数的返回值类型,但不可为返回值命名。
rust里返回值一般是函数体里的最后一个表达式的值,若函数体中间返回,需使用return关键字跟一指定的值。

fn main() {
    let x = add_func(5);
    println!("f= {}", x);
}

fn add_func(x: i32) -> i32 {
   x + 5 // 这里就是返回值,后不能加;号,如果加了就是一个语句,语句的返回值是空的Tuple (),编译时会报
   // x + 5; implicitly returns `()` as its body has no tail or `return` expression
}

rust的注释

单行注释使用// 注释
多行注释使用
/*
注释
*/

标签:语句,函数,05,注释,rust,test,返回值,fn
From: https://www.cnblogs.com/UFO-blogs/p/17760517.html

相关文章

  • Visual Studio 2022 如何在创建文件时生成默认代码以及注释文件操作
    在创建文件时生成默认代码对于已经有一定的c++编程基础的“学生”来说,次次写默认的代码有时候是挺浪费时间的,对于VisualStudio2022这个版本创建文件时生成默认代码的资源不多,今天先记录一下我们在下载visualstudio时需要下载Community、Packages、Shared这三个文件。我们需......
  • getMonth():获取当前月(注意:返回数值为0~11,需要自己+1来显示),0代表一月份,如果要显示2位
    getMonth():获取当前月(注意:返回数值为0~11,需要自己+1来显示),0代表一月份,JavaScriptDate对象 日期选择控件的主要功能是向用户提供包含年、月、日的日期数据并并允许用户对其修改。如果要捕获用户修改日期选择控件的数据事件响应,需要为DataPicker添加一个OnDateChangedListene......
  • SQL Server 2005 和自增长主键identity说再见——NEWSEQUENTIALID()(转载)
    SQLServer2005和自增长主键identity说再见——NEWSEQUENTIALID()(转载) 在SQLServer2005环境下,表的主键应该怎样设计.目前主要用到的主键方案共三种:自动增长主键手动增长主键UNIQUEIDENTIFIER主键1、先说自动增长主键,它的优点是简单,类型支持bigint.但是它有致命的......
  • Rust命令行解析程序:Clap
    Rust命令行解析程序:Clap基于Clap4.4.6参考资料:Clap官方手册Chapter1配置解析器使用Command结构体的new方法构建解析器://arg.exeuseclap::{arg,Command};fnmain(){//只要调用clap解析命令行参数,--help和--version会自动添加到命令行参数列表中//使用ar......
  • 11. 用Rust手把手编写一个wmproxy(代理,内网穿透等), 实现健康检查
    11.用Rust手把手编写一个wmproxy(代理,内网穿透等),实现健康检查项目++wmproxy++gite:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy健康检查的意义健康检查维持着系统的稳定运行,极大的加速着服务的响应时间,并保证服务器不会把消息包转......
  • 【日常收支账本】【Day05】编辑账本界面增加删除、更新记录功能——提高代码复用性
    一、项目地址https://github.com/LinFeng-BingYi/DailyAccountBook二、新增1.增加删除记录功能1.1功能详述点击删除按钮后,获取对应行的数据组成字典,用字典的键值对匹配到对应日期的记录元素;接着用该字典数据冲正存款账户余额(实现思路为新增记录时的反向操作),同时删除记录......
  • cad标注文字太小,随比例改变设置 注释性; 文字太小
    标注文字太小命令:dimstyle——选中第1个——修改——调整——注释性打勾右下角:选择合适文字比例:文字太小双击文字,修改(高度),数值越大,越大......
  • 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效
    解决PowerDesigner16GenerateDatebaseForSql2005/2008对象名sysproperties无效的问题在PowerDesigner16中生成的sql语句,在执行的时候报错:对象名sysproperties无效的错误;造成此问题的原因是由于Sql2005、2008删除了系统表sysproperties而改用sys.extended_proper......
  • ERROR in node_modules/rxjs/dist/types/internal/operators/combineLatest.d.ts(3,61
    原文链接:https://www.longkui.site/error/error-in-node_modules-rxjs/4839/angular项目,启动的时候报错。详细的报错如下:这个报错的原因比较简单,rxjs的版本不对,我用的是angular7可能和rxjs版本不匹配。解法方法也很简单,主要是降版本,我们找到项目的package.json把rxjs版本改成......
  • rust HashMap 排序
    按照key和value升序、降序、自定义排序示例usestd::collections::HashMap;usestd::cmp::Ordering;fnmain(){letmutdf=HashMap::new();forxin5..=12{letk=format!("key_{}",x);letv=format!("value_{}",x);......