Berbagi teknologi

[Karat] Pembelajaran tipe String String

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Apa itu String

  • Hanya ada satu tipe String dalam bahasa inti Rust, dan itu adalah potongan String.strbiasanya dianggap sebagai&strdipinjam.
  • Tipe String disediakan melalui pustaka standar, bukan dikodekan secara langsung ke dalam bahasa inti. Tipe ini merupakan tipe yang dapat dikembangkan, dapat diubah, dan dikodekan UTF-8.
  • strDanStringSemuanya dikodekan utf-8.

Buat String baru

  • String sebenarnya diimplementasikan dengan membungkus vektor bertipe byte.
  • Buat String menggunakan metode baru:let mut s = String::new()
  • Buat String menggunakan metode to_string:
    let data = "initial contents";
    let s = data.to_string();
    let s = "initial contents".to_string();
    
    • 1
    • 2
    • 3
  • Buat string menggunakan metode String::from,let s = String::from("initial contents").

PerbaruiString

Tambahkan string menggunakan Push_str dan Push

let mut s = String::from("foo");
s.push_str("bar");
// s is foobar
  • 1
  • 2
  • 3

push_strMetode tidak mengubah kepemilikan string

let mut s = String::from("lo");
s.push('l');
// s is lol
  • 1
  • 2
  • 3

Gunakan operator + atau makro format! untuk menggabungkan string

let s1 = String::from("Hello, ");
let s2 = String::from("world!");
let s3 = s1 + &s2; // note s1 has been moved here and can no longer be used
  • 1
  • 2
  • 3
let s1 = String::from("tic");
let s2 = String::from("tac");
let s3 = String::from("toe");

let s = format!("{s1}-{s2}-{s3}");
  • 1
  • 2
  • 3
  • 4
  • 5

Rust tidak mengizinkan berlangganan untuk mengakses karakter individual dalam sebuah string

Cara mengulangi string

  • Karakter UniCode individual dapat diakses menggunakan metode chars. Gunakan metode bytes untuk mengakses setiap byte.
for c in "Зд".chars() {
    println!("{c}");
}
  • 1
  • 2
  • 3