首页 > 其他分享 >01.Rust基础

01.Rust基础

时间:2022-11-14 16:11:42浏览次数:62  
标签:cargo 01 Cargo 基础 world main Hello Rust

一、简介

Rust是一种预编译静态语言,这意味着你可以编译程序并将可执行文件发送给其他人。

二、安装

Windows直接去官网下载相关软件程序包即可。它可使用IDE软件进行开发。

三、编程

Rust并不关心代码存放位置。Rust源文件总是以 .rs扩展名结尾。Rust相关代码编写完成后需要先编译在运行
编写:Hello, world!

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

以在Windows上为例:

> rustc main.rs
> .\main.exe
Hello, world!

分析:Hello, world!

fn main() {

}

main函数是一个特殊的函数:在可知性的Rust程序中,它总是最先运行的代码。第一个行代码声明了一个叫做main的函数,它没有参数也没有返回值。如果有参数,它们的名称应出现在小括号()中。
main函数中有如下代码:

    println!("Hello, world!");
  1. Rust的缩进风格使用4个空格,而不是1个制表符(tab);
  2. println!调用了一个Rust宏(macro);如果是调用函数,则应输入println(没有`!)
  3. "Hello, world!"是一个字符串。
  4. 该行以分号(;)结尾,这代表一个表达式的结束和下一个表达式的开始。大部分Rust代码行以分号结尾。

四、Cargo

Cargo是Rust的构建系统和包管理器。

1、创建Cargo项目

> cargo new hello_cargo
> cd hello_cargo

第一行新建了名为hello_cargo的目录和项目。而在这个目录下包含:一个Cargo.toml文件、一个src目录、以及位于src目录下的main.rs文件。
文件名:Cargo.toml

[package]
name = "hello_cargo"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

这个文件使用TOML格式,这是Cargo配置文件的格式。
第一行,[package],是一个片段标题,表明下面的语句用来配置一个包。
之后的三行设置了Cargo编译程序所需的配置:项目名称、项目版本以及要使用的Rust版本。
最后一行,[dependencies]是罗列项目依赖的片段的开始,代码包被称为crates
Cargo将源文件放在src目录下。项目根目录只存放README、license信息、配置文件和其他跟代码无关的文件。

2. Cargo使用方式

  1. cargo new创建项目;
  2. cargo build构建项目;
  3. cargo run一步构建并运行项目;
  4. cargo check在不生成二进制文件的情况下构建项目并检查错误;

3. 发布(release)构建

当项目最终准备好发布时,可以使用cargo build --release来优化编译项目。这会在target/release而不是target/debug下生成可执行文件。

五、引用

Rust 程序设计语言 - Rust 程序设计语言 简体中文版 (kaisery.github.io)
Rust编程语言入门教程(Rust语言/Rust权威指南配套)【已完结】_哔哩哔哩_bilibili

标签:cargo,01,Cargo,基础,world,main,Hello,Rust
From: https://www.cnblogs.com/ColoFly/p/16889346.html

相关文章

  • 06基础元器件-三极管
    一、三极管的定义与分类1、定义导体三极管又称为双极结型晶体管(BJT),是一种具有三个电极的装置。实质上就一块半导体基片上的两个PN结将其隔成基区、发射区和集电区,从而......
  • 【Python基础】快速入门Python(讲解、习题)
    0.导语Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于......
  • 数仓基础知识的超全概括(建议收藏)!
    ​大家好,我是 梦想家 !周一,我想和大家分享一些数仓基础知识的小集锦,希望能对你有些帮助~1、什么是数据仓库?权威定义:数据仓库是一个面向主题的、集成的、相对稳定的、反映历......
  • C# vs2019 MSB3644 找不到 .NETFramework,Version=v4.6.2 的引用程序集
    一、前言 从github上clone了Dapper的项目,想来学习学习,F6生成的时候,提示MSB3644找不到.NETFramework,Version=v4.6.2的引用程序集的错误二、解决方案1.百度......找......
  • java基础笔记
    java的数据类型分为两大类  进制前缀二进制:0b八进制:0十六进制:0xJava会直接将它们转换为十进制输出 float、double并不能准确表示每一位小数,对于有的小数只能无......
  • JS基础
    输出F12点console查看注释//......
  • C基础学习笔记——01-C基础第13天(文件下)
    在学习C基础总结了笔记,并分享出来。01-C基础第13天(文件下)目录:(1)按照块读写文件fread、fwrite1)写文件2)读文件3)强化训练:大文件拷贝(2)文件的随机读写(3)Windows和Linux文本文件区别......
  • C基础学习笔记——01-C基础第07天(字符串处理函数和函数)
    在学习C基础总结了笔记,并分享出来。01-C基础第07天(字符串处理函数和函数)目录:一、字符串处理函数(1)gets()(2)fgets()(3)puts()(4)fputs()(5)strlen()(6)strcpy()(7)strncpy()(8)strcat()(9)str......
  • C基础学习笔记——01-C基础第02天(用户权限、VI操作、Linux服务器搭建)
    在学习C基础总结了笔记,并分享出来。01-C基础第02天(用户权限、VI操作、Linux服务器搭建) 打开终端:ctrl+alt+t清屏:ctrl+l或clear在终端中退出锁定:ctrl+c 目录3常用命令4......
  • Nginx基础配置及构建web虚拟主机
    一,Nginx服务的主配置文件nginx.confvim/usr/local/nginx/conf/nginx.conf1.全局配置#usernobody; #运行用户,若编译时未指定则默认为nobodyworker_processes1......