美文网首页
Rust初体验

Rust初体验

作者: SeanPenn | 来源:发表于2021-11-07 20:33 被阅读0次

    现在我们已经安装好了rust,让我们开始第一个rust程序。任何一门新的语言总是从打印"Hello world"开始,这儿我们也同样如此。

    创建一个项目目录
    首先创建一个目录用于存放rust代码,无论你把你的代码放在任何位置,都建议你放在同一个目录下:

    • 进入到D:
    • 创建一个learning目录
    • 进入到learning目录
    • 创建一个rust目录
    • 进入到rust目录,该目录为后续所有rust代码的根目录
    • 创建一个"hello_world"目录
    • 进入到hello_world目录下

    编写并运行第一个rust程序
    编写一个新文件并命名为main.rs。Rust文件以.rs作为扩展名。如果你的文件名包含多个单词,Rust建议以下划线作为分隔符,比如hello_world.rs,而不是helloworld.rs

    文件名:main.rs

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

    保存文件,然后进入到rust的shell命令行下,输入以下命令:

    D:\learning\rust\hello_world>rustc main.rs
    D:\learning\rust\hello_world>.\main.exe
    Hello, world!
    

    如果"Hello, world!"能够成功地打印出来,祝贺你,现在你已经是一个Rust程序员了。

    Rust程序解析
    让我们来详细地看下"Hello, world!"程序做了些啥。

    fn main() {
    }
    

    上面代码用于定义一个Rust的函数。其中main函数总是特殊的:Rust程序执行时总是从main函数开始的。上面的main函数没有定义参数,也没有返回值。如果需要参数,这些参数将被放到括号里面。

    Rust的函数体使用{}来包含该函数所有的代码,建议{}的格式是:“{”和函数声明放在一行,中间以一个空格隔开,"}"单独一行

    在main函数中包含下面的代码:

    println!("Hello, world!");
    

    这行代码做的所有工作:输出文本到屏幕。代码虽然少,但是有四个需要注意的地方:

    1. Rust的风格是以四个空格缩进,不是Tab。
    2. println!是一个Rust宏调用,而不是一个函数调用。如果是函数调用,应该使用println(没有!)。即"!"表示调用一个宏,而不是函数。注意:宏名和函数名并不总是一样
    3. "Hello, world!"字符串,作为参数传递给"println!",这个字符串会被输出到屏幕上。
    4. 使用";"作为行结束符。

    编译和运行是分开的
    在运行一个Rust程序之前,必须先使用Rust编译器编译,格式如下:

    > rustc main.rs
    

    编译成功后,会输出一个二进制可执行文件main.exe:

    D:\learning\rust\hello_world>dir
    D:\learning\rust\hello_world 的目录
    2021/11/07  17:44    <DIR>          .
    2021/11/07  17:44    <DIR>          ..
    2021/11/07  17:44         4,393,294 main.exe
    2021/11/07  17:41                46 main.rs
                   2 个文件      4,393,340 字节
                   2 个目录 290,888,663,040 可用字节
    D:\learning\rust\hello_world>
    

    下面就可以执行该程序了

    D:\learning\rust\hello_world>.\main.exe
    Hello, world!
    

    Rust是一门AOT(ahead-of-time compiled)语言,必须先编译成可执行的二进制文件,才能运行。

    相关文章

      网友评论

          本文标题:Rust初体验

          本文链接:https://www.haomeiwen.com/subject/vliezltx.html