Char
ในภาษา Rust มีประเภทข้อมูลที่ชัดเจนสำหรับตัวอักษรคือ char
ซึ่งรองรับตัวอักษรทุกภาษา รวมถึงอีโมจิและสัญลักษณ์พิเศษ
ตัวอย่างการใช้งาน char
fn main() { let c: char = 'ก'; let emoji: char = '😊'; println!("{} {}", c, emoji); }
ลองแก้โค้ดดู
- ลองเปลี่ยนเครื่องหมาย
'
เป็น"
จะเกิดอะไรขึ้น?- ลองเพิ่มตัวอักษรเข้าไปใน
'...'
ให้มีมากกว่า 1 ตัวอักษร จะเกิดอะไรขึ้น?
String
ในภาษา Rust ชนิดข้อมูล String
เป็นชนิดข้อมูลที่สามารถปรับขนาดได้และเก็บข้อมูลบน heap สามารถแก้ไขได้
note
ใน Rust "Hello, World!"
ยังไม่ใช่ String
แต่เป็น string slice (&str
)
note
"Hello, World!"
เรียกว่าตัวอักษร string (string literal) ซึ่งจัดเก็บในพื้นที่หน่วยความจำแบบ static (static memory)
ตัวอย่างการใช้งาน String
fn main() { let s:&str = "This is my string"; let s1:String = String::from("hello world"); let s2:String = "hello".to_string(); let s3:String = "world".to_owned(); let s4:String = format!("{} {}", s2, s3); let s5:String = s2 + " " + &s3; println!("s1 is {}\ns4 is {}\ns5 is {}", s1, s4, s5); }
ลองแก้โค้ดดู
- ลองเปลี่ยนชนิดของ
s1
,s2
,s3
,s4
, หรือs5
ให้เป็น&str
จะเกิดอะไรขึ้น?- ลองใช้เมธอดต่างๆ ของ
String
เช่นpush
,pop
, หรือreplace
เพื่อดูการเปลี่ยนแปลงของข้อมูล