码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Rust学习记录(linux)——安装、创建、编译、输入输出


    目录

    一.安装

     二.创建

    三.编译

    四.输入输出

    (一).输出hello world

    (二).输入


    一.安装

    Rust Programming Language (rust-lang.org),这是Rust官网。

     

     直接下载自己对应系统版本即可,小编是linux版。

    下载后,在linux命令行中输入该指令即可:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

    如果有需要,可以下载相关编辑器(如:vscode)更利于学习和使用。

     二.创建

    Rust的源文件是以.rs为结尾。

    有两种创建方式,第一个是直接创建:

    touch hello.rs

    第二种是创建一个项目。

    cargo new 项目名

    cargo是rust的构建系统和包管理器,功能十分强大。

    cargo创建项目后,会有一个同名目录文件。

     其中Cargo.toml是记录项目数据的文件。

    src用来存放所有项目源文件,同时cargo会自动生成一个main文件。

    三.编译

    第一种方式是使用rustc编译器:

    rustc xxx.rs 

    第二种是使用cargo编译: 

    cargo除了能创建项目外,还能构建代码和运行代码。

    构建:

    cargo build 

    所谓构建代码通俗来讲就是编译但不运行。 

    运行:

    cargo run 

     运行代码就是编译且运行。 

     另外需要注意的是不管build还是run,都要在rust相关项目内执行命令。

    编译之后,项目内会有target目录,其中存放有我们编译通过的可执行程序。

     值得注意的是,不管是build还是run,默认生成的都是debug版,如果要生成release版需要在命令后加 --release,如:

    cargo build --release

    四.输入输出

    (一).输出hello world

    先看看hello world:

    1. fn main()
    2. {
    3. println!("hello world");
    4. }

    其中println!是一个宏,不是函数。

    (二).输入

     以read_line()为例,使用方式如下:

    1. use std::io;
    2. fn main()
    3. {
    4. let mut a = String::new();
    5. io::stdin().read_line(&mut a).expect("输入错误");
    6. println!("{}", a);
    7. }

    其中,io是在标准库里的一个子库。

    let用于定义变量,默认是不可变值的变量。

    mut可将变量声明为可变变量。

    stdin是一个文件句柄,相当于c语言里的FILE结构体。

    read_line是stdin实现的一个方法,用于输入字符型数据。

    println中的{}是一个占位符。


    如有错误,敬请斧正 

  • 相关阅读:
    【Linux】基础:进程地址空间
    MySQL之查询性能优化(十三)
    c++动态库调用
    现今主流物联网无线通信技术分类详解
    linux☞container_of
    内存利用:迟来的blindless与逃不掉的exit漏洞
    吃透Chisel语言.37.Chisel实战之以FIFO为例(二)——基于FIFO的串口通信:串口发送“Hello World!”
    4.超链接
    华为悦盒ec6108v9c使用ADB卡刷Linux(Ubuntu)
    在windows中搭建vue开发环境
  • 原文地址:https://blog.csdn.net/weixin_61857742/article/details/127989466
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号