2 điểm bởi ehlegeth 2021-12-10 | 1 bình luận | Chia sẻ qua WhatsApp
  • Để tự động giải phóng tài nguyên, trong Go có thể sử dụng defer

→ Tuy nhiên, trong trường hợp tài nguyên được cấp phát bên trong vòng lặp thì không phải là không có cách, nhưng sẽ trở nên phức tạp

→ Luôn có khả năng mắc sai sót

  • Trong Rust, có thể triển khai trait Drop cho tài nguyên để tự động giải phóng tài nguyên

→ Ngay cả trong các trường hợp như vòng lặp cũng không gặp vấn đề như defer, và không cần gọi giải phóng tài nguyên thông qua defer

1 bình luận

 
ehlegeth 2021-12-10

Go cũng có một đề xuất về try-resource, nhưng có vẻ như họ không thực sự mấy quan tâm đến nó:

https://github.com/golang/go/issues/29120

Nhìn vào những điều như thế này, có lẽ việc không cố che giấu chuyện giải phóng tài nguyên xuống dưới một mô-đun khác cũng là một phần trong triết lý của Go.

https://stackoverflow.com/questions/59044658/…