Guest User

Untitled

a guest
Jul 22nd, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. fn main() {
  2. let a = 1; // immutable
  3. let mut b = 1; //mutable
  4. assert_eq!(b,1);
  5. // a = 2; // compile error
  6. b = 2;
  7. let c :i32 = 1;
  8. assert_eq!(a,c);
  9. assert_eq!(b,2);
  10.  
  11. let some_i32 :Option<i32> = Some(3);
  12. let none_i32 :Option<i32> = None;
  13. assert!(some_i32.is_some());
  14. assert!(none_i32.is_none());
  15. assert_eq!(some_i32.unwrap(),3);
  16. assert_eq!(none_i32.unwrap_or(1),1);
  17.  
  18. let ok_i32: Result<i32,&str> = Ok(3);
  19. let err_i32: Result<i32,&str> = Err("error");
  20. assert_eq!(ok_i32.unwrap(),3);
  21. assert_eq!(err_i32.unwrap_or(1),1);
  22. assert!(ok_i32.is_ok());
  23. assert!(err_i32.is_err());
  24.  
  25. if let Some(x) = some_i32 {
  26. println!("{}", x);
  27. } else {
  28. println!("None");
  29. }
  30. if let Some(x) = none_i32 {
  31. println!("{}", x);
  32. } else {
  33. println!("None");
  34. }
  35.  
  36. match some_i32 {
  37. Some(x) => println!("{}", x),
  38. None => println!("None"),
  39. }
  40.  
  41. match ok_i32 {
  42. Ok(x) => println!("{}", x),
  43. Err(e) => println!("error info. is: {},", e),
  44. }
  45. match err_i32 {
  46. Ok(x) => println!("{}", x),
  47. Err(e) => println!("{}", e),
  48. }
  49.  
  50. }
Add Comment
Please, Sign In to add comment