美文网首页程序员
Rust 从基础到实践(1)

Rust 从基础到实践(1)

作者: zidea | 来源:发表于2019-03-10 21:08 被阅读19次
    cargo new hello_world
    

    运行命令后就我们创建好一个 rust 项目,我们看一下刚刚创建好的 hello_world 项目,cargo 有点类似 npm,我们用 npm 管理 javascript 项目,而用 cargo 来管理 rust 项目。


    屏幕快照 2019-03-08 下午8.14.34.png
    • Cargo.toml
    [package]
    name = "hello_world"
    version = "0.1.0"
    authors = ["jangwoo <zidea2015@163.com>"]
    edition = "2018"
    
    [dependencies]
    

    package 中包含我们项目的基本信息
    dependencies 应该是项目的依赖
    看 src 文件夹下的 main.rs

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

    运行这个命令就可以查看项目输出了,第一次可能花一些时间。

    cargo run
    

    学习 c++ 或其他语言时候,开始我们都喜欢以一个文字游戏开始学习的旅程。

    use std::io;
    
    fn main() {
        println!("Guess the number!");
    
        println!("Please input your guess.");
    
        let mut guess = String::new();
    
        io::stdin().read_line(&mut guess)
            .expect("Failed to read line");
    
        println!("You guessed: {}", guess);
    }
    

    运行结果,提示我们输入一个数字,我们输入后回车,会显示我们输入的数值


    屏幕快照 2019-03-08 下午8.33.51.png

    我们对比其他语言,特别是 c++ 来学习 rust。首先搭建 rust 和运行编译都感觉比 c++ 要容易些。

    • use::io 表示引入输入输出的库
    • fn 表示主函数
    • println! 用于输出内容到屏幕上
    • mut 表示 guess 是一个可变得变量,rust 默认是不可变的变量
    • String::new() :: 表示调用 String 类的静态方法
    • & 表示引用,使用引用是为了节省内存,无需将数据复制一份,引用是 rust 的难点也是 rust 的优点。
    • &mut guess 表示一个可变引用,如果使用 &guess表示不可变的引用

    在 rust 变量默认是不可变(immutable),这样也是 rust 的可爱之处,因为 immutable 提高安全性,且便于并发。

    fn main() {
        let x = 5;
        println!("The value of x is: {}", x);
        x = 6;
        println!("The value of x is: {}", x);
    }
    
    error[E0384]: cannot assign twice to immutable variable `x`
    

    但有的时候我们不可避免,将 x 转变为 mutable 可变量。

    let mut x = 5;
    

    相关文章

      网友评论

        本文标题:Rust 从基础到实践(1)

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