Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
3
Task/Literals-String/Rust/literals-string-1.rust
Normal file
3
Task/Literals-String/Rust/literals-string-1.rust
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
let char01: char = 'a';
|
||||
let char02: char = '\u{25A0}'; // Black square
|
||||
let char03: char = '❤'; // Heart
|
||||
18
Task/Literals-String/Rust/literals-string-2.rust
Normal file
18
Task/Literals-String/Rust/literals-string-2.rust
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
const string_literal_str1: &str = "Hi Rust!";
|
||||
|
||||
let string_slice_str1: &str = string_literal_str1; // Creating a string slice from a string literal
|
||||
let string_slice_str2: &str = "hello str"; // String slice pointing to string literal "hello str"
|
||||
|
||||
let string1: String = String::new(); // Empty String
|
||||
let string2: String = String::from("hello"); // Creating String from string literal "hello"
|
||||
let string3: String = "hi".to_string();
|
||||
let string4: String = "bye".to_owned();
|
||||
let string5: String = "see you soon".into();
|
||||
// The "to_string()", "to_owned" or "into" are all equivalent in the code above.
|
||||
// The "to_string()", "to_owned" or "into" methods are needed so that a string slice (&str) or a string literal (&str) is explicitly converted into a heap-allocated fully-owned String type. Otherwise the compiler's type checker will complain "expected struct `String`, found `&str` (string slice)"
|
||||
|
||||
let string6: String = string_slice_str2.to_owned(); // Explictly converting the string_slice_str2 into a heap-allocated fully-owned String. This can be done with "to_string()", "to_owned" or "into".
|
||||
|
||||
// String slices can also point to heap allocated strings:
|
||||
let string_slice_str3: &str = &string2; // Creating a string slice to a heap-allocated String.
|
||||
let string7: String = string_slice_str3.to_string(); // Converting string_slice_str3 into a heap-allocated fully-owned String copy, resulting in a new independent owned string copy of the original String. This can be done with "to_string()", "to_owned" or "into".
|
||||
11
Task/Literals-String/Rust/literals-string-3.rust
Normal file
11
Task/Literals-String/Rust/literals-string-3.rust
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
let verbatim_here_string01: &str = r#"A \verbatim string\, line breaks in programming use \n and tabs \t"#;
|
||||
let verbatim_here_string02: &str = r#"
|
||||
A \multi-line\ string, in programming
|
||||
line breaks use the characters \n
|
||||
and for tabs we use the characters \t
|
||||
"#;
|
||||
let verbatim_here_string03: &str = r##"
|
||||
Part number "#001": 1
|
||||
Part number "#002": 2
|
||||
Part number "#003": 3
|
||||
"##;
|
||||
8
Task/Literals-String/Rust/literals-string-4.rust
Normal file
8
Task/Literals-String/Rust/literals-string-4.rust
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
let number: i32 = 42;
|
||||
let number_string: String = format!("Number: {}", number);
|
||||
println!("The result in string form is '{}'.", number_string);
|
||||
print!("The number is {}. ", number); // Print without line break
|
||||
println!("Again, it's {}", number); // Print with line break
|
||||
// The above prints:
|
||||
// The result in string form is 'Number: 42'.
|
||||
// The number is 42. Again, it's 42
|
||||
Loading…
Add table
Add a link
Reference in a new issue