char
は Unicode codepoint なので 4 バイト
Unicode codepoint は最大で 21 ビットなので、4 バイトになるということだろうか?
tuple
tuple は異なる型の値を格納できる。こんな風に中身に bind するのも可能。
let tuple = (1, "hello", 4.5, true);
let (a, b, c, d) = tuple;
array と slice
array の型は [T; len]
、slice の型は &[T]
。
slice は array からの borrow なので、&
が必要。
fn print_slice(slice: &[i32]) {
print!("[");
for (i, x) in slice.iter().enumerate() {
if i > 0 {
print!(", ");
}
print!("{}", x);
}
println!("]");
}
fn main() {
let a: [i32; 5] = [1, 2, 3, 4, 5];
print_slice(&a);
print_slice(&a[1..4]); // a[1, 4)
}