1. //rust 中的数据类型主要分为scalar and compound 标量与复合类型
    2. //单一值的为 scalar, 多值的为compound
    3. fn main(){
    4. //数据类型转换, 接收变量必须显示指定数据类型: 变量名后面 :数字类型
    5. let guess: u32 = "42".parse().expect("Not a number!");
    6. println!("The value of guess is {}", guess);
    7. // Numeric Operations
    8. let sum = 5 + 10;
    9. let difference = 95.5 - 4.3;
    10. let product = 4 * 30;
    11. let quotient = 56.7 / 32.2;
    12. let remainder = 43 % 5; // 取模运算
    13. println!("The value of sum is {}", sum);
    14. println!("The value of difference is {}", difference);
    15. println!("The value of product is {}", product);
    16. println!("The value of quotient is {}", quotient);
    17. println!("The value of remainder is {}", remainder);
    18. //character
    19. let c = 'z';
    20. let z = 'Z';
    21. let heart_eyed_cat = '🐷';
    22. println!("The value of c is {}", c);
    23. println!("The value of z is {}", z);
    24. println!("The value of heart_eyed_cat is {}", heart_eyed_cat);
    25. //compound type
    26. //tuple,fixed length can be different data type
    27. let tup = (500,6.4,1);
    28. let (e,f,g) = tup; //解构tuple里的值至单个变量
    29. println!("The value of f is: {}", f);
    30. println!("The value of e is: {}", tup.0); //用 点号 . 加索引(从0开始)访问tuple中的值
    31. println!("The value of g is: {}", tup.2);
    32. //Array,fixed length must be same data type
    33. let months = ["January", "February", "March", "April",
    34. "May", "June", "July", "August", "September", "October", "November", "December"];
    35. println!("The value of months is {:?}", months);
    36. let aaa: [i32; 5] = [1,2,3,4,5];//显示声明数组中元素的数据类型及数组长度并用分号分开
    37. println!("The value of aaa is {:?}", aaa);
    38. let bbb = [3;5];//指定数组中每个元素的值为3,并设定数组的长度为5
    39. println!("The value of bbb is {:?}", bbb);
    40. println!("The first value of aaa is {}", aaa[0]);//访问数组
    41. println!("The second value of bbb is {}", bbb[1]);
    42. //rust中越界访问数组时,在runtime会出现错误
    43. }