From a573e445936a9f04e3a3a46dc15fd4f4b4d99b46 Mon Sep 17 00:00:00 2001 From: yuanqian52 <1229887109@qq.com> Date: Mon, 19 Jul 2021 00:07:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0CHANGELOG=20=E5=B7=B2?= =?UTF-8?q?=E5=88=A0=E9=99=A4ass.ass?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG | 193 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ ass.ass | 18 ----- 2 files changed, 193 insertions(+), 18 deletions(-) delete mode 100644 ass.ass diff --git a/CHANGELOG b/CHANGELOG index 81cb714..b57dc2e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,2 +1,195 @@ 2021.7.7 create the project +chapter 1 +///关于变量 +fn main() +{ + let x = 13;//由rust本身进行推断 + let mut x = 13;//当使用 mut 为关键字时,变量x为可变的 + println!("{}",x); + + let x:f64 = 3.14159;//给出声明和定义 + println!("{}"); + + let x;//很少使用 + x = 0; + println("{}",x); +} + +///关于基本类型: + bool型;true false; + 无符号整型:u8~u128; + 有符号整型:i8~i128; + 指针大小的整型:usize isize; + 浮点数:f32 f64; + 元组:t = (value,value,...) 取值时t.0 t.1 ...; + 数组:相同类型数据元素的固定长度集合,[T,N]中, +    T是元素的类型, +    N是编译时已知的固定长度 + + str: +fn main() +{ + let a1 = 12; //默认i32 + let a2 = 12u8; // + let b1 = 4.3; //默认f64 + let b2 = 4.3f32; // + let br = true; // + let t = (13,false); //元组 + let sentence = "hello world!"; // + let nums: [i32;3] = [1,2,3];//println!("{:?},nums); ->[1,2,3] + //println!("{}",nums[1]); -> 2 + + fn zhuanhuan() ///关键字 as 起作用 + { +    let a = 13u8; + let b = 7u32; + let c = a as u32 + b; + println!("{}", c); + + let t = true; + println!("{}", t as u8); +} +} + +///关于常量 + 起名遵循全大写蛇形命名法(SCREAMING_SNAKE_CASE) +{ + const PI: f32 = 3.14159; + + fn main() + { + println!("make an apple {} from scratch.",PI); + } +} + +///关于函数(类似于c语言) + //函数名遵循蛇形命名法(snake_case) + { + fn add(x:i32,y:i32) -> i32 + { + return x+y; + } + fn main() + { + println!("{}",add(42,13)); + } + } + //通过元组来实现多个返回值 + { + fn swap(x: i32, y: i32) -> (i32, i32) + { + return (y, x); + } + + fn main() + { + let result = swap(123, 321); + println!("{} {}", result.0, result.1); + + let (a, b) = swap(result.0, result.1); + println!("{} {}", a, b); + } + } + //通过返回空的元组来返回空值,即() + { + fn make_nothing1() -> () + { + return (); + } + + fn make_nothing2() + { + } + + fn main() + { + let a = make_nothing1(); + let b = make_nothing2(); + + println!("The value of a: {:?}", a); + println!("The value of b: {:?}", b); + } + //不论函数中是否规定返回值,最终输出结果都是() + } + +chapter 2 分支控制 +///if/else if/else + 与c语言相区别,判断条件不需要括号 + if x < 42{...}else if x == 42{...} + +///循环 + //break和loop +{ + fn main() + { + let mut x = 0; + loop + { + x += 1; + if x == 42 + { + break; + } + } + println!("{}",x); + } +} + + //while:向循环添加条件 +{ + fn main() + { + let mut x = 0; + while x != 42; + { + x += 1; + } + } +} + + ***//for: + //.. 运算符创建一个可以生成包含起始数字、但不包含末尾数字的数字序列的迭代器。 + //..=运算符创建一个可以生成包含起始数字、且包含末尾数字的数字序列的迭代器。 +{ + fn main() + { + for x in 0..5 + { + println!("{}",x); -> 0 1 2 3 4 + } + for x in 0..=5 + { + println!("{}",x); -> 0 1 2 3 4 5 + } + } +} + + //match:类比于c语言中的switch +{ + fn main() + { + let x = 42; + + match x + { + //匹配值 + 0 => {println!("found zero");} + 1 | 2 => {println!("found 1 or 2");} + //匹配迭代器 + 3..=9 => {println!("found 3 to 9");} + //将匹配数值绑定到变量 + matched_num @ 10..=100 => {println!(found {} number between 10 to 100!",matched_num);} + //默认匹配,在没有处理所有情况时,必须存在该匹配 + _ => {println!("found something else!")} + } + } + //结果为 -> found 42 number between 10 to 100! +} + + //从循环中返回值 +  loop可以被中断以返回一个值。 +{ + +} + diff --git a/ass.ass b/ass.ass deleted file mode 100644 index 11dd78a..0000000 --- a/ass.ass +++ /dev/null @@ -1,18 +0,0 @@ -butt -爱仕达我的啊我dA -a da s  - - -挨打的 - -sgr  s - - -asdasdasdasd -asdasdasdasdw - -r -r -2 - -xdsfdf  -- GitLab