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

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

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

再见!

相关推荐
卷福同学5 小时前
不用服务器,不用配环境,我10分钟上线了一个AI Agent
人工智能·后端·算法
码兄科技6 小时前
Java AI智能体开发实战:从零构建智能对话系统指南
java·开发语言·人工智能
花褪残红青杏小7 小时前
Rust图像处理第14节-图片缩放与斜切畸变:齐次坐标 + 共享仿射变换
rust·webassembly·图形学
GetcharZp7 小时前
只需 10 分钟,轻松实现异地组网!Netmaker 保姆级部署教程来了
后端
Drone_xjw7 小时前
从 GDB 到 CDB:C/C++ 程序调试的两把“手术刀”
c语言·开发语言·c++
前端兰博7 小时前
03-Spring Boot
后端
前端兰博7 小时前
01-Java开发基础语言
后端
SL-staff8 小时前
智慧园区2000+设备统一管理:JVS-IoT如何降低运维成本40%
java·开发语言·物联网·智慧园区·设备管理·运维优化·jvs-iot
前端兰博8 小时前
02-Servlet、JDBC、Maven、Mybatis
后端