mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
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:
commit
f42fbe08a9
@ -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
|
Loading…
Reference in New Issue
Block a user