Rust变量

1.引入

不能老更数码,我们还得看回我们的主业------编程!

变量是一种代码中必不可少的东西。

一个值,在编程中被称为 。不能变化的叫做常量 ,可以变化的叫做变量。我们本篇文章中,变量和常量都会讲,所以放心。

2.RustRover配置并使用

我们刚刚和上篇文章扯了这么多,只下载了RustRover,还没有去使用它。我们现在学习如何去使用它。

首先,的它会默认创建一个叫做main.rs的文件,我们可以直接在这里面写代码:

然后右击鼠标(在写代码的地方右击),然后选择运行 'Run'(U),然后就可以运行啦!

3.变量

3.1 变量的定义

我们用let作为定义变量的关键字,例如:

rust 复制代码
let a;

Rust代码结尾要加分号!!!

但是我们这样定义的是一个常量,我们如果需要定义一个变量,那么我们需要在let和变量名之间加一个关键字------mut。例如:

rust 复制代码
let mut a;

这样我们就定义了一个变量。

3.2 变量的赋值

字符串或者字符的赋值最为简单,我们只需要和其他语言一样用一个等号连接变量名和值即可。Rust不需要我们指定类型,它会根据赋的值,自己判断类型。

例子:

rust 复制代码
let mut a = 1;

我们可以输出a看一下:

rust 复制代码
fn main() {
    let mut a = 1;
    println!("{}", a);
}

我们输出变量要这样输出,类似于C语言的printf,但是这里不需要写类型,直接打一对大括号,这里面装的就是变量,如果要输出多个变量:

rust 复制代码
fn main() {
    let mut a = 1;
    let mut b = 2;
    println!("{},{}", a, b);
}

这是,它就会先输出1,在输出逗号,在输出2。

3.3 变量的使用

我们今天只讲最简单的使用------运算,我们只需要和别的语言一样,用+-*/即可,这里不做过多的演示,主要留给接下来要讲的内容。

4.输入

4.1 字符串的输入

我们首先需要引入一个包------io,引入:

rust 复制代码
use std::io;

语法不需要掌握,记住即可。

然后再定义一个空字符串:

rust 复制代码
let mut s = String::new();

String::new()专门用来创建一个空字符串,也不需要理解,记住即可。

然后的语法略有复杂,但是入门阶段,都不需要理解,只要记住,后面我们会单独写一篇文章来讲解底层原理。代码:

rust 复制代码
io::stdin().read_line(&mut s).expect("Failed to read line");

read_line函数里面的s要替换成变量名。

这样就输入了一个字符串,组合一下:

rust 复制代码
use std::io;
fn main() {
    let mut s = String::new();
    io::stdin().read_line(&mut s).expect("Failed to read line");
    println!("{}", s);
}

运行结果:

输入一个Hello,输出一个Hello,运行成功!

4.2 整数的输入

首先,我们要准备一个字符串变量和一个整型变量:

rust 复制代码
let mut input = String::new();
let mut n : i32;

然后输入这个字符串:

rust 复制代码
io::stdin().read_line(&mut input).expect("Failed to read line");

然后通过一段代码把这个字符串的数据"传输"到整型里面:

rust 复制代码
n = input.trim().parse().expect("Please type a number!");

里面n和input都要换成自己的变量名称!

这些语法略微有亿点点复杂,我们等到后面再说!

我们先不说其他类型的输入,等遇到了再说!

5.总结

我们今天学习了常量变量 ,常量的名称建议所有字母都大写 ,变量的名称建议使用驼峰命名法

我们还学习了变量的输入,但是我们暂时只学习字符串和整型变量的输入(常量无法输入),其他类型等遇到了再说!

再见!

相关推荐
期待のcode1 小时前
MyBatisX插件
java·数据库·后端·mybatis·springboot
醇氧3 小时前
【Windows】优雅启动:解析一个 Java 服务的后台启动脚本
java·开发语言·windows
华仔啊4 小时前
这 10 个 MySQL 高级用法,让你的代码又快又好看
后端·mysql
MapGIS技术支持4 小时前
MapGIS Objects Java计算一个三维点到平面的距离
java·开发语言·平面·制图·mapgis
码事漫谈4 小时前
国产时序数据库崛起:金仓凭什么在复杂场景中碾压InfluxDB
后端
上进小菜猪4 小时前
当时序数据不再“只是时间”:金仓数据库如何在复杂场景中拉开与 InfluxDB 的差距
后端
程序员zgh4 小时前
C++ 互斥锁、读写锁、原子操作、条件变量
c语言·开发语言·jvm·c++
小灰灰搞电子5 小时前
Qt 重写QRadioButton实现动态radioButton源码分享
开发语言·qt·命令模式
by__csdn5 小时前
Vue3 setup()函数终极攻略:从入门到精通
开发语言·前端·javascript·vue.js·性能优化·typescript·ecmascript
喵了meme5 小时前
C语言实战5
c语言·开发语言