码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Rust】Rust环境配置与语法基础


    😏★,°:.☆( ̄▽ ̄)/$:.°★ 😏
    这篇文章主要介绍Rust环境配置与语法基础。
    学其所用,用其所学。——梁启超
    欢迎来到我的博客,一起学习,共同进步。
    喜欢的朋友可以关注一下,下次更新不迷路🥞

    文章目录

      • :smirk:1. Rust介绍
      • :blush:2. 环境安装与配置
      • :satisfied:3. 应用示例

    😏1. Rust介绍

    Rust是一种创新型的系统编程语言,由Mozilla研发。它将C++的高性能和控制力与安全性、并发性和现代语言设计相结合。

    官网:https://www.rust-lang.org/

    Rust具有以下特点:

    1.零成本抽象: Rust允许编写高层次的抽象代码,同时不会对性能产生影响;

    2.安全保障: Rust通过语言级别的静态内存管理和所有权模型来避免常见的内存安全问题;

    3.并发支持: Rust提供了多线程编程的支持,并且可以避免锁的使用和线程竞争问题;

    4.高性能: Rust通过内联汇编、去除垃圾回收等技术实现了C++级别的性能;

    5.生态丰富: Rust生态系统中有大量优秀的第三方库支持,可以满足不同领域的需求;

    综上,Rust是一种用于构建高性能、可靠和安全的系统级应用程序的语言。它旨在成为下一个系统编程语言的首选。目前,Rust已经被广泛应用于各种领域,包括Web开发、游戏开发、网络应用和嵌入式设备等。

    😊2. 环境安装与配置

    Rust安装:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    # 安装完成后,rustup会显示完整的安装路径,包括cargo(Rust的构建工具)和rustc(Rust编译器)
    # 生效环境
    source $HOME/.cargo/env
    # 查看版本号
    rustc --version
    cargo --version
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    国内源配置(在.cargo创建config,将配置写入,否则cargo build会出错):

    [source.crates-io]
    registry = "https://github.com/rust-lang/crates.io-index"
    
    replace-with = 'tuna'
    [source.tuna]
    registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
    
    #replace-with = 'ustc'
    #[source.ustc]
    #registry = "git://mirrors.ustc.edu.cn/crates.io-index"
    
    [net]
    git-fetch-with-cli = true
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    😆3. 应用示例

    helloworld示例:

    cargo new hello-rust
    # 生成目录如下
    hello-rust
    |- Cargo.toml # 编译文件
    |- src
      |- main.rs # 源文件
    cargo run
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    添加ferris-says依赖示例:

    cargo add ferris-says
    # main.rs写入
    cargo build
    cargo run
    
    • 1
    • 2
    • 3
    • 4
    use ferris_says::say; // from the previous step
    use std::io::{stdout, BufWriter};
    
    fn main() {
        let stdout = stdout();
        let message = String::from("Hello fellow Rustaceans!");
        let width = message.chars().count();
    
        let mut writer = BufWriter::new(stdout.lock());
        say(&message, width, &mut writer).unwrap();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    请添加图片描述

    以上。

  • 相关阅读:
    substrate轻松学2:区块链与substrate
    uniapp iOS离线打包——上传到App Store
    Galaxy生信云平台|制作临床信息表/三线表/Table 1
    AI语音电销机器人是如何工作的,电话机器人系统安装使用如何更高效?
    算力时代,算能(SOPHGO)的算力芯片/智算板卡/服务器选型
    Ubuntu中安装mysql
    【汽修帮手】数据采集,爬虫,根据pdf文件流合并pdf文件
    正则表达式
    【C++】多态 ⑦ ( 多态机制实现原理 | 虚函数表概念 | 虚函数表工作机制 | vptr 指针 | 虚函数表运行时机制 | 虚函数与动态联编 )
    java程序中什么时候需要使用try...catch
  • 原文地址:https://blog.csdn.net/qq_40344790/article/details/133641235
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号