rust学习笔记基础篇6–函数与函数指针(霜之小刀)

标签: rust 霜之小刀
7人阅读 评论(0) 收藏 举报
分类:

rust学习笔记基础篇6–函数与函数指针(霜之小刀)

欢迎转载和引用,若有问题请联系
若有疑问,请联系
Email : lihn1011@163.com
QQ:2279557541


直接看函数的使用示例
//无返回值无参数的函数

fn func(){
    println!("func1");
}
//有返回值,有参数的函数
fn func_add(src:i32, add_num:i32) -> i32{
    return src+add_num;
}
//一种"诡异"的函数写法,
//这是因为rust是一种基于表达式的语言,函数中最后一个表达式的值默认作为函数返回值
fn func_add_one(src:i32) -> i32{
    src+1
}
fn main() {
    func();
    let mut x = 15;
    x = func_add(x, 10);
    println!("{}", x);
    x = func_add_one(x);
    println!("{}", x);
}

函数的声明中,参数的类型是必须要写的,如果没有返回值的话,返回值的类型到时可以不写。
以为函数就说完了么?并没有,还有很重要也很有用的函数指针!

//有返回值,有参数的函数
fn func_add(src:i32, add_num:i32) -> i32{
    return src+add_num;
}

fn main() {
    let func = func_add;
    //上面的代码如果要把类型写全的话应该是这样的
    let funcc:fn(i32,i32)->i32 = func_add;
    let res = func(2,3);
    println!("{}", res);
}

同其他语言中的函数指针一样,使用函数指针就想使用原函数一样,只不过函数指针本身可以当成是一个变量。

查看评论

虚幻引擎4系列教程3(霜之小刀)(附视频)--游戏是需要逻辑的

虚幻引擎4系列教程3--游戏是需要逻辑支撑 --霜之小刀(转载请注明作者)   QQ:2279557541                 Email:lihn1011@163.com     ...
  • lihn1987
  • lihn1987
  • 2016-06-09 23:50:27
  • 675

在rust里使用c样式的函数指针

Fn(i32)->i32这个是trait,&Fn(i32)->i32这个是trait object,有lifetime的 fn(i32)->i32这种就是c里的函数指针了,这个是没有lifetime...
  • varding
  • varding
  • 2015-09-01 16:15:31
  • 1175

rust学习笔记基础篇7–条件与判断(霜之小刀)

rust学习笔记基础篇7–条件与判断(霜之小刀) 欢迎转载和引用,若有问题请联系 若有疑问,请联系 Email : lihn1011@163.com QQ:227955...
  • lihn1987
  • lihn1987
  • 2018-04-16 23:55:50
  • 7

Rust学习笔记基础篇1--环境的搭建(霜之小刀)

Rust学习笔记基础篇1–环境的搭建(霜之小刀) 欢迎转载和引用,若有问题请联系 若有疑问,请联系 Email : lihn1011@163.com QQ:227955...
  • lihn1987
  • lihn1987
  • 2018-04-14 17:25:33
  • 34

深度学习word2vec笔记之基础篇

深度学习word2vec笔记之基础篇
  • mytestmy
  • mytestmy
  • 2014-05-25 16:00:16
  • 71528

UE4新手引导之下载和安装虚幻4游戏引擎

1) 进入虚幻4的官方主页(https://www.unrealengine.com/) 这里你可以获得关于虚幻4的最新资讯,包括版本更新、博客更新、新闻和商城等。自2015年起,该引擎已经提供免费下...
  • monaso
  • monaso
  • 2017-02-16 13:50:55
  • 212

rust学习笔记中级篇1–泛型(霜之小刀)

rust学习笔记中级篇1–泛型(霜之小刀) 欢迎转载和引用,若有问题请联系 若有疑问,请联系 Email : lihn1011@163.com QQ:227955754...
  • lihn1987
  • lihn1987
  • 2018-04-18 00:58:09
  • 1

Rust语言学习笔记(2)

结构体,方法语法,枚举,模式匹配
  • zwvista
  • zwvista
  • 2016-04-23 21:50:47
  • 690

“鸟哥的linux私房菜基础篇(第三版)”--学习笔记

“鸟哥的linux私房菜基础篇(第三版)”--学习笔记 $su,输user定义的pswad,是多少?怎么查看? p322: login shell 与non-login shell,不理解? ...
  • u014675548
  • u014675548
  • 2016-08-08 10:59:41
  • 301

Python+Selenium基础1-6:Selenium常用函数

1.#coding=cp936代表国标2312,只能放前两行 from Selenium import webdriver引库 wd=webdriver.Firefox()启动浏览器 wd.ge...
  • Rookie_hh
  • Rookie_hh
  • 2017-10-09 21:14:41
  • 177
    个人资料
    持之以恒
    等级:
    访问量: 1万+
    积分: 438
    排名: 11万+
    博客专栏
    最新评论