创建第一个rust程序 - 介绍

学习rust概念,包含变量,数据类型和函数.

学习目标
在这个模块中你可以学到:

  • 探索rust核心概念,包含函数,数据类型和变量
  • 了解rust基本类型,文本,数值,布尔,和复杂类型
  • 创建,编译和运行rust基本程序
  • 知道自私从你程序中打印输出

需要前题
rust开发环境

介绍

在这个模块中,可以学到编程语言的基本概念,可以发现他们在rust中是怎么实现的.这些概念不是rust独有的,但他们是每个rust程序的基础.通过了解这些概念,你可以获得了解,来对任何语言的开发都有帮助.

了解rust程序的基本程序结构

在这个单元中,可以复习非常简单的rust程序结构

Rust中的函数

函数是一块代码,可以指定任务. 我们在程序中基于任务切分代码. 这样的切分使代码更容易理解和维护. 当我们为任务定义函数后,就可以在需要时调用函数来执行任务.

每个Rust程序一定名为main的函数.main函数中的代码总是第一个运行的.我们可以调用函数从main函数中,或是从其它函数中.

fn main() {
	println!("Hello, world!");
}

为在rust中定义函数,需要使用fn关键字.当给函数命名后,我们可以告诉编译器多少个输入参数.参数在括号()中列出来. 函数体是函数做任务的代码,定义在大括号{}内.最佳格式化实践是打开大括号{和参数列表是同行.

代码排版

在函数体内,代码的声明以分号结尾;. rust处理这些声明按顺序一个接一个. 当代码声明后没有;时,rust知道下一行代码执行之前,开始的语句一定要先完成.

为了查看代码执行关系,我们用缩近.这种格式表示代码是怎么组织的,并且揭露了完成任务的函数流步骤. 开始的代码语句用左边4个空格. 当代码没有用;结束时,下一行用超过4个空格.

下边是对应例子

fn main() { // The function declaration is not indented

    // First step in function body
        // Substep: execute before First step can be complete

    // Second step in function body
        // Substep A: execute before Second step can be complete
        // Substep B: execute before Second step can be complete
            // Sub-substep 1: execute before Substep B can be complete

    // Third step in function body, and so on...
}

todo! 宏

当你在rust模块中练习时,可能会注意到简单的例子中使用到了todo!宏.宏在rust中像函数,也用到输入参数.todo!宏被用来定义在rust未完成的代码.宏可以在原型开发,或是当你表示一个你未完成的操作时非常有用.

下边展示怎么用todo!:

fn main() {
    // Display the message "Hello, world!"
    todo!("Display the message by using the println!() macro");
}

在编译时,使用到了todo!宏,编译器需要返回panic消息,并指定希望完成代码位置.

   Compiling playground v0.0.1 (/playground)
    Finished dev [unoptimized + debuginfo] target(s) in 1.50s
     Running `target/debug/playground`
thread 'main' panicked at 'not yet implemented: Display the message by using the println!() macro', src/main.rs:3:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

The println! macro

main函数只做一个任务. 调用println!宏,它在rust中提前定义.println!宏接收更多输入参数, 它展示在屏幕,并且标准输出.在这个例子中,我们转入一个字符串"Hello, world!"

fn main() {
    // Our main function does one task: show a message
    // println! displays the input "Hello, world!" to the screen
    println!("Hello, world!");
}

{}参数替换数值

通常调用println!宏用参数列表,列表中包括文本字符串实例和{}还有其它值.println!宏替换实例{}中文本字符串有,列表中下一个值.
例子:

fn main() {
    // Call println! with three arguments: a string, a value, a value
    println!("The first letter of the English alphabet is {} and the last letter is {}.", 'A', 'Z');
}

调用println!宏用三个个参数,字符串,值和其它值.宏处理参数是按顺序的.每个{}实例内部用一个文本字符串来替换,这些值是依次用列表参数.
输出:

The first letter of the English alphabet is A and the last letter is Z.

你可能感兴趣的:(lang,rust)