use std::collections::BTreeMap;

fn main() {
    let mut m = BTreeMap::new();
    m.insert(1, 1);
    
    let (a, b) = *m.iter().next().unwrap();
}

Saya mencoba untuk mendapatkan versi (kunci, nilai) yang de-refed yang dikembalikan dari btreemap. Tetapi menggunakan operator dereference secara langsung pada pasangan yang dikembalikan (&, &) tidak berfungsi.

Apakah ada cara untuk melakukan ini sehingga jenis a, b hanyalah u64, not & u64?

0
Jaebum 29 Mei 2021, 01:25

1 menjawab

Jawaban Terbaik

A & sebelum variabel dalam pola (digunakan oleh let) akan dereference itu.

let (&a, &b) = m.iter().next().unwrap();
2
kmdreko 28 Mei 2021, 22:52