Tour of Rust Table of Contents

The . Operator

ตัวดำเนินการ . ถูกใช้เมื่อทำการเข้าถึงฟิลด์หรือเมธอดของตัวอ้างอิง ซึ่งมันค่อนข้างฉลาดอยู่บ้าง

let f = Foo { value: 42 };
let ref_ref_ref_f = &&&f;
println!("{}", ref_ref_ref_f.value);

ว้าวดูสิ เราไม่ต้องใส่ *** ข้างหน้า ref_ref_ref_f เลยเห็นไหม นี่ก็เพราะเจ้าตัวดำเนินการ . มัน dereference ตัวอ้างอิงให้อัตโนมัติ โดยตัวคอมไพเลอร์จะเป็นตัวเปลี่ยนบรรทัดสุดท้ายให้เป็นบรรทัดต่อไปนี้เอง

println!("{}", (***ref_ref_ref_f).value);