พื้นฐาน Rust
Rust Strings: String vs &str
Rust has two string types. Learn when to use each, and how to grow, search and split text.
สิ่งที่คุณจะได้เรียนรู้
- String and &str
- push_str and push
- contains, split, len
Two string types
&str
- a borrowed view
- fixed size
- "Hello"
String
- owns its text
- can grow
- String::from("Hello")
An owned string and a borrowed view
Rust has two main string types. &str is a view of text stored somewhere else, such as a literal in your code. String owns its text and can grow.
String::from copies the literal into a String that the program owns, so push_str and push can add to it. len counts bytes, not characters. split returns the parts between the separator, one at a time.
ประเด็นสำคัญ
- &str borrows text stored somewhere else.
- String owns its text and can grow.
- len counts bytes, not characters.
ตัวอย่าง Rust ที่รันได้
Rust
main.rs
fn main() {
let greeting = "Hello"; // &str: a borrowed string slice
let mut message = String::from(greeting); // String: owned and growable
message.push_str(", Rust");
message.push('!');
println!("{message}");
println!("length: {}", message.len());
println!("upper: {}", message.to_uppercase());
println!("contains Rust: {}", message.contains("Rust"));
for word in message.split(", ") {
println!("{word}");
}
}
Hello, Rust!
length: 12
upper: HELLO, RUST!
contains Rust: true
Hello
Rust!ฝึกฝน
เปิดตัวอย่างในคอมไพเลอร์ออนไลน์ ลองเปลี่ยนค่าหรือเพิ่มบรรทัด แล้วทายผลลัพธ์ก่อนกดรัน จากนั้นลองทำให้โค้ดผิดโดยตั้งใจ แล้วอ่านข้อความจากคอมไพเลอร์
เรียนบทนี้จบแล้วใช่ไหม
ทำเครื่องหมายว่าเรียนแล้วเพื่อติดตามความคืบหน้า
ความคืบหน้าของคุณถูกบันทึกไว้ในเบราว์เซอร์นี้ เข้าสู่ระบบเพื่อเก็บไว้ใช้ได้ทุกอุปกรณ์
ฝึกด้วยโจทย์
ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI
- นับจำนวนสระ นับจำนวนสระในข้อความที่กำหนด ง่าย
- Initials From a Name Build uppercase initials from a full name. ง่าย