Current date May 18, 2026
Tự học Rust

Tự học Rust – Bài 13: Xử lý chuỗi văn bản (Strings)

URL copied
Share URL copied
Tự học Rust - Bài 13: Xử lý chuỗi văn bản (Strings)
Tự học Rust – Bài 13: Xử lý chuỗi văn bản (Strings)

1. Phân biệt &str và String

  • `&str`: Là loại văn bản cố định, thường nằm trong mã nguồn (string literals). Nó có tốc độ cực nhanh nhưng không thể thay đổi kích thước.
  • `String`: Là loại văn bản có thể co giãn, thường được lưu trên Heap. Bạn có thể thêm, bớt hoặc thay đổi nội dung của nó lúc chương trình đang chạy.

2. Cách tạo một String

Bạn có thể tạo một `String` từ một chuỗi cố định (`&str`) bằng hai cách phổ biến:

let s1 = String::from("Chào bạn");
let s2 = "Chào bạn".to_string();

3. Thay đổi nội dung chuỗi

Để thay đổi chuỗi, bạn phải khai báo biến với từ khóa `mut`.

  • `push_str()`: Thêm một đoạn văn bản vào cuối.
  • `push()`: Thêm duy nhất 1 ký tự vào cuối.
let mut message = String::from("Hello");
message.push_str(" World"); // "Hello World"
message.push('!');           // "Hello World!"

4. Nối chuỗi văn bản

Cách dễ dàng và sạch sẽ nhất để kết hợp nhiều chuỗi là dùng macro `format!`. Cách này rất giống với cách bạn in dữ liệu bằng `println!`.

let s1 = String::from("Học");
let s2 = String::from("Rust");
let result = format!("{} {} thật vui!", s1, s2);

println!("{}", result); // Kết quả: Học Rust thật vui!

5. Độ dài chuỗi

Bạn có thể dùng phương thức `.len()` để lấy độ dài của chuỗi. Lưu ý rằng độ dài này được tính theo số byte (UTF-8), không nhất thiết là số lượng ký tự đối với các ngôn ngữ có dấu.

let name = String::from("Tuan");
println!("Độ dài: {}", name.len()); // 4

Lời kết Bài 13

Xử lý chuỗi trong Rust có vẻ khắt khe hơn các ngôn ngữ khác, nhưng chính sự khắt khe đó đảm bảo chương trình của bạn luôn an toàn với bộ nhớ. Đây cũng là bài viết cuối cùng trong Series Tự học Rust Cơ bản (dựa trên lộ trình W3Schools).

Hy vọng series này đã giúp anh Tuấn và các bạn có một nền móng vững chắc để tiếp tục chinh phục những kiến thức nâng cao hơn của Rust. Chúc các bạn có những trải nghiệm lập trình tuyệt vời! 🦀✨

Share URL copied

Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Active0
AI3
AI & Automation10

Exclusives

Lifestyle

Related Articles

Tự học Rust – Bài 20: Concurrency – Đa luồng an toàn tuyệt đối

Khám phá cách Rust xử lý lập trình đa luồng mà không...

Tự học Rust – Bài 19: Con trỏ thông minh (Smart Pointers)

Vượt xa các tham chiếu thông thường với Smart Pointers: Box, Rc...

Tự học Rust – Bài 18: Lifetimes – Đảm bảo tham chiếu hợp lệ

Lifetimes là gì? Tại sao Rust cần chúng? Tìm hiểu cách trình...

Tự học Rust – Bài 17: Generics – Viết mã nguồn linh hoạt

Sử dụng Generics trong Rust để tạo ra các hàm và cấu...