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.总结

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

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

再见!

相关推荐
bruce_哈哈哈2 小时前
go语言初认识
开发语言·后端·golang
十五年专注C++开发2 小时前
VS2019编译的C++程序,在win10正常运行,在win7上Debug正常运行,Release运行报错0xC0000005,进不了main函数
开发语言·c++·报错c0x0000005
一条咸鱼_SaltyFish2 小时前
[Day13] 微服务架构下的共享基础库设计:contract-common 模块实践
开发语言·人工智能·微服务·云原生·架构·ai编程
隐退山林2 小时前
JavaEE:多线程初阶(一)
java·开发语言·jvm
C_心欲无痕2 小时前
ts - 模板字面量类型与 `keyof` 的魔法组合:`keyof T & `on${string}`使用
linux·运维·开发语言·前端·ubuntu·typescript
最贪吃的虎2 小时前
Redis其实并不是线程安全的
java·开发语言·数据库·redis·后端·缓存·lua
乾元2 小时前
无线定位与链路质量预测——从“知道你在哪”,到“提前知道你会不会掉线”的网络服务化实践
运维·开发语言·人工智能·网络协议·重构·信息与通信
AC赳赳老秦2 小时前
Unity游戏开发实战指南:核心逻辑与场景构建详解
开发语言·spring boot·爬虫·搜索引擎·全文检索·lucene·deepseek
武子康2 小时前
大数据-208 岭回归与Lasso回归:区别、应用与选择指南
大数据·后端·机器学习