diff --git a/.idea/misc.xml b/.idea/misc.xml index 3c741df..574077a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,3 @@ - diff --git a/4.variables/src/main.rs b/4.variables/src/main.rs index f864cfa..7c07341 100644 --- a/4.variables/src/main.rs +++ b/4.variables/src/main.rs @@ -118,4 +118,24 @@ fn main() { println!("变量 y (f64) 的值为 {}", y); println!("变量 z (&str) 的值为 {}", z); + // 数组 Array 数组的长度是固定的, 一旦声明就无法修改 + // 数组中每个元素的类型必须一致 + // 数组的类型 以 [元素类型; 数组长度] 的形式表示 + let arr: [i32; 3] = [1, 2, 3]; + println!("变量 arr (Array) 的值为 {} {} {}", arr[0], arr[1], arr[2]); + + // 另一种声明数组的方式 + // 如果数组中每个元素的值都相同, 那么可以直接用 [元素值;数组长度] 声明 + // [1;5] 相当于 [1, 1, 1, 1, 1] + let arr: [i32; 5] = [1;5]; + println!("变量 arr (Array) 的值为 {:?}", arr); + + // 数组没有 Vector 灵活, Vector 由标准库提供 + // Vector 的长度可以改变 + let mut vec = vec![1, 2, 3]; + println!("变量 vec (Vector) 的值为 {:?}, 长度为 {}", vec, vec.len()); + for _ in 0..3 { + vec.push(vec.len() + 1); + } + println!("变量 vec (Vector) 的值为 {:?}, 长度为 {}", vec, vec.len()); }