赞
踩
本章我们会介绍一些其他高级语言都会有的编程概念,以及它们如何在rust中工作的。具体来说我们将会了解变量、基本类型、函数、注释和控制流
不可变变量
Rust中,默认的变量是不可变的,如下,不能将已绑定到某个值的不可变变量再次赋值
fn main() {
let x = 5;
x = 6;//cannot assign twice to immutable variable
println!("{}",x)
}
可变变量
在声明变量时,在变量名前面加上mut,使得变量成为可变变量,如下列语句可以通过编译并且能正常打印
fn main() {
let mut x = 5;
x = 6;
println!("{}",x)
}
变量和常量的区别
常量声明用关键字const而不用let,而且必须注明类型
常量不使用mut
常量可以在任何作用域中声明,并且会在整个生命周期中发挥作用
常量通常用大写加下滑线来声明,例如:
fn main() {
const THREE_HOURS_IN_SECONDS:u32 = 60*60*3;
println!("{}",THREE_HOURS_IN_SECONDS)//10800
}
隐藏(shadowing)
Rust这个shadowing的特性我们之前讲过,这里再复习一下:声明两个同名变量,后面的变量会覆盖前面的变量
并且他们的类型是可以不同的,如下:
fn main() {
let x = 5;
let x = 6;
let spaces = " ";
let spaces= spaces.len();//Rsut 中变量调用函数是通过.在后面加上函数施加的
println!("{},{}",x,spaces)//6,9
}
Rust是静态类型语言,即在编译时就需知道所有变量的类型
一般情况下,根据值及其使用方式,编译器通常能够推断出类型
但是当多种类型均可能时,我们需要显示注解类型
let guess:i32 = "42".parse().expect("Not a number!");
标量类型代表单独的值,包括:整型、浮点型、布尔型、字符型
整型
整型分为无符号和有符号,i代表有符号,u代表无符号
Rust中的整型的长度有:8/16/32/64/128-bit以及arch
其中arch长度色isize和usize类型依赖运行计算机架构,64位架构它们就是64位的,32位架构就是32位的
对于整型的选择,如果拿不定主意,Rust默认类型是不错的起点,数字类型是i32,isize和usize主要作为某些集合的索引
浮点型
两种f32 和 f64
小结:数值类型的都支持四则运算和取余,整数一般向下取整
let sum = 5+10;
let difference = 95.5-4.3;
let product =4*30;
let floored = 2/3;
let reminder = 43%5;
println!("{},{},{},{},{}",sum,difference,product,floored,reminder);//15,91.2,120,0,3
布尔型
Rust布尔类型有两个值:True/false
let t = true;
let f:bool =false;
println!("{},{}",t,f);//true,false
字符型
Rust的char类型是语言中最原生的字母类型,它不仅可以表示汉字、英文字母,甚至可以表示表情
let c = 'Z';
let heart_eyed_cat = ' 本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。