欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Rust学习一

程序员文章站 2022-06-19 17:42:09
Rust学习一一 安装命令行安装 curl --proto ‘=https’ --tlsv1.2 https://sh.rustup.rs -sSf | sh查看版本 rustc —version更新 rustup update卸载 rustup self uninstall二 Hello Worldxxx.rs rs文件是rust的文件格式, linux/macos 下 可执行文件是 xxx , windows是xxx.exefn main() {} 程序入口...

Rust学习一

一 安装

  1. 命令行安装 curl --proto ‘=https’ --tlsv1.2 https://sh.rustup.rs -sSf | sh

  2. 查看版本 rustc —version

  3. 更新 rustup update

  4. 卸载 rustup self uninstall

二 Hello World

  1. xxx.rs rs文件是rust的文件格式, linux/macos 下 可执行文件是 xxx , windows是xxx.exe

  2. fn main() {} 程序入口函数

  3. println!(“Hello world”); println! 是rust的宏命令 ; 表示此代码结束

  4. 编译 rustc xxx.rs

三 Cargo

cargo是rust编译和包管理工具, 安装rust时已安装cargo

  1. 查看 cargo版本: cargo —version

  2. cargo 新建项目: cargo new 项目名

  3. cargo新建项目时,初始化里一个新的git仓库包含.git和.gitignore文件。 如果不需要git 使用 cargo new —vcs=none xxx

  4. cargo.toml文件是项目的全局配置文件

    [package] 标头配置了工程的基本信息
    
    [dependencies] 会指明项目所有的依赖包
    
  5. cargo build 编译项目,并生成可执行文件

  6. cargo run 运行项目。 如果没有编译,会先编译再运行

  7. cargo check 快速检查代码以确保能通过编译, 但他不会编译生成可执行文件。 cargo check要比cargo bulid快更多。

四 小项目 guessing game

  1. use std::io; 使用标准库里的io包。 use声明 std是标准库 io是标准库里的控制输入输出的包
    use rand::Rng; 使用第三方包, Rng(a, b)函数生成[a, b)范围内的整数随机数, 左闭右开
    use std::cmp::Ordering;

  2. letmut geuss = String::new(); let 声明声明一个 mut 可变变量 guess , 将一个空字符赋值给guess。

  3. let foo = 5; rust的变量默认是不可变的, 可变用 mut声明

  4. io:: std().read_line(&mut guess).expect(“Falied to read line”);

  5. 循环体

    loop{ 
        continue; 
        break; 
    }
    
  6. 将guess变量的类型由String转为u32 无符号的32位整形

    let guess: u32 = match guess.trim().parse(
        Ok(num) => num,
        Err(_) => continue,
    ); 
    
  7. 比较两个数的大小

    match guess.cmp(&secret_number) {
        Ordering::Less => println!("Too Small"),
        Ordering::Greater => println!("Too big"),
        Ordering::Equal => {
            println!("You win, the secret number is {}", secret_number);
        }
    } 
    

五 Cargo 国内镜像源配置

  1. open /Users/rpl/.cargo

  2. vim config:

    [source.crates**-**io]
    registry **=** "https://github.com/rust-lang/crates.io-index"
    replace**-**with **=** 'ustc'
    
    [source.ustc]
    registry **=** "git://mirrors.ustc.edu.cn/crates.io-index"
    

本文地址:https://blog.csdn.net/littleRpl/article/details/111992809

相关标签: rust rust基础