Merge pull request #29457 from wxy/20230424.0-️-Rust-Basics-Series-5-Functions-in-the-Rust-Programming-Language

RP:published/20230424.0 ️ Rust Basics Series 5 Functions in the Rust Programming Language.md
This commit is contained in:
Xingyu.Wang 2023-05-29 15:37:22 +08:00 committed by GitHub
commit f42fbe08a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,13 +3,17 @@
[#]: author: "Pratham Patel https://itsfoss.com/author/pratham/"
[#]: collector: "lkxed"
[#]: translator: "Cubik65536"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-15855-1.html"
Rust 基础系列 #5: Rust 中的函数
======
![][0]
> 在这一章中,在实例的帮助下,学习如何使用函数并从中返回值。
就跟任何现代编程语言一样Rust 也有函数。
你已经熟悉的函数是 `main` 函数。这个函数在程序启动时被调用。
@ -30,7 +34,7 @@ fn function_name() {
function_name();
```
来让我们看一个简单的函数,它将字符串 "Hi there!" 打印到标准输出。
来让我们看一个简单的函数,它将字符串 `"Hi there!"` 打印到标准输出。
```
fn main() {
@ -50,7 +54,7 @@ fn greet() {
Hi there!
```
这挺简单的。让我们把它提升到下一个级别。让我们创建一个接受参数并返回值的函数。两者都不是互斥的,也不是包容的
这挺简单的。让我们把它提升到下一个级别。让我们创建一个接受参数并返回值的函数。有没有参数和有没有返回值这两者之间无关
### 使用函数接受参数
@ -81,7 +85,7 @@ fn main() {
fn food(theplas: i32, rotis: i32) {
println!(
"我饿了... 我需要 {} 个葫芦巴叶饼和 {} 个罗提!",
"我饿了... 我需要 {} 个葫芦巴叶饼和 {} 个罗提",
theplas, rotis
);
}
@ -89,12 +93,12 @@ fn food(theplas: i32, rotis: i32) {
在第 5 行,我声明了一个名为 `food` 的函数。这个函数接受 2 个参数:`theplas` 和 `rotis`(印度食物的名字)。然后我打印了这些变量的内容。
对于 `main` 函数,我使用参数 '2' 和 '4' 调用 `food` 函数。这意味着 `theplas` 被赋值为 '2'`rotis` 被赋值为 '4'
对于 `main` 函数,我使用参数 `2``4` 调用 `food` 函数。这意味着 `theplas` 被赋值为 `2``rotis` 被赋值为 `4`
来让我们看一下程序的输出:
```
我饿了... 我需要 2 个葫芦巴叶饼和 4 个罗提!
我饿了... 我需要 2 个葫芦巴叶饼和 4 个罗提
```
我现在真的饿了... 😋
@ -146,7 +150,7 @@ fn main() {
第 8 行的代码计算出了一个值。它是 `a * 10``873 * 10`),并计算出了 `8730`。因为这一行没有以分号结尾,所以这是一个表达式。
> 📋 使用表达式是从代码块中返回某些东西的一种方便的方法。因此,当返回一个值时,它是 `return` 关键字的替代方案。表达式不仅仅用于从函数中“返回”一个值。正如你刚刚看到的,`a * 10` 的值是从内部作用域“返回”到外部作用域,并赋值给变量 `b`。一个简单的作用域不是一个函数,但表达式的值仍然被“返回”了。
> 📋 使用表达式是从代码块中返回某些东西的一种方便的方法。因此,当返回一个值时,它是 `return` 关键字的替代方案。表达式不仅仅用于从函数中 “返回” 一个值。正如你刚刚看到的,`a * 10` 的值是从内部作用域 “返回” 到外部作用域,并赋值给变量 `b`。一个简单的作用域不是一个函数,但表达式的值仍然被 “返回” 了。
#### 示例:购买腐烂的水果
@ -228,13 +232,15 @@ fn tuple_func() -> (f64, f64, f64, f64) {
### 总结
本文介绍了 Rust 编程语言中的函数。这些是函数的“类型”:
本文介绍了 Rust 编程语言中的函数。这些是函数的 “类型”:
- 不接受任何参数也不返回任何值的函数
- 接收一个或多个参数的函数
- 给调用者返回一个或多个值的函数
你知道接下来是什么吗Rust 中的条件语句,也就是 if-else。请继续关注并享受在 Linux 中国学习 Rust 的过程。
你知道接下来是什么吗Rust 中的条件语句,也就是 if-else。请继续关注并享受学习 Rust 的过程。
*题图MJ/5a07503b-c691-4276-83b2-bb42f5fda347*
--------------------------------------------------------------------------------
@ -243,10 +249,11 @@ via: https://itsfoss.com/rust-functions/
作者:[Pratham Patel][a]
选题:[lkxed][b]
译者:[Cubik65536](https://github.com/Cubik65536)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/pratham/
[b]: https://github.com/lkxed/
[1]: https://linux.cn/article-15837-1.html
[0]: https://img.linux.net.cn/data/attachment/album/202305/29/150550h23qbhahwzb66hb1.jpg