Skip to content

Commit 474efe5

Browse files
authored
chore: update ownership.md
1 parent a61826f commit 474efe5

File tree

1 file changed

+15
-17
lines changed

1 file changed

+15
-17
lines changed

src/basic/ownership.md

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,17 @@ _Ownership_ là một trong những tính năng đặc trưng của Rust, đây
44

55
# Ownership là gì?
66

7-
Ownership là một concept mới. Tất cả programs đều cần phải quản lý
8-
memory mà nó sử dụng trong lúc thực thi. Một vài ngôn ngữ sử dụng
9-
garbage collection để tìm và giải phóng bộ nhớ lúc runtime, một số
10-
ngôn ngữ khác thì lập trình viên phải tự chi định (allocate) và giải
11-
phóng (free) bộ nhớ. Rust đi theo một hướng khác, memory được quản lý
12-
bởi một ownership system gồm tập rules được compiler sử dụng để kiểm
13-
tra (check) lúc compile. Bằng cách này thì Rust ép chúng ta viết code theo một
14-
cách an toàn memory-safe, Rust sẽ bắt lỗi ở lúc complie.
15-
Càng hiểu được concept của ownership, thì dần
16-
dần chúng ta có thể viết được code an toàn và hiệu quả hơn.
17-
18-
Để tìm hiểu kỹ hơn về Ownership, bạn có thể đọc Rust Book tại
19-
đây cực kỳ chi tiết:
7+
**Ownership** là một khái niệm mới. Tất cả các chương trình đều cần phải quản lý
8+
bộ nhớ mà chúng sử dụng trong quá trình thực thi. Một số ngôn ngữ sử dụng garbage collection
9+
để tìm và giải phóng bộ nhớ trong thời gian chạy, trong khi một số ngôn ngữ khác yêu cầu
10+
lập trình viên tự cấp phát (allocate) và giải phóng (free) bộ nhớ. Rust đi theo một hướng khác,
11+
trong đó bộ nhớ được quản lý bởi một hệ thống ownership với các quy tắc mà trình biên dịch
12+
sử dụng để kiểm tra (check) trong quá trình biên dịch. Bằng cách này, Rust buộc chúng ta
13+
phải viết mã theo cách an toàn cho bộ nhớ, và sẽ phát hiện lỗi ngay trong quá trình biên dịch.
14+
Càng hiểu rõ về khái niệm ownership, chúng ta càng có thể viết mã an toàn và hiệu quả hơn.
15+
16+
17+
Để tìm hiểu kỹ hơn về Ownership, bạn có thể đọc Rust Book tại đây cực kỳ chi tiết:
2018
[https://doc.rust-lang.org/book/ch04-01-what-is-ownership.html](https://doc.rust-lang.org/book/ch04-01-what-is-ownership.html#ownership-rules)
2119

2220
### Ownership Rules
@@ -96,10 +94,10 @@ fn main() {
9694
}
9795
```
9896

99-
Trong trường hợp này thì function `hold_my_vec` không làm gì ngoài
100-
việc take ownership. Có một cách tốt hơn là **references.** Thay vì
101-
để function take ownership, ta có thể cho nó mượn giá trị.
102-
Chúng ta sẽ truyền vào một reference — a borrowed value.
97+
Trong trường hợp này, function `hold_my_vec` không làm gì ngoài việc nhận ownership.
98+
Có một cách tốt hơn là **references.**
99+
Thay vì để function nhận ownership, ta có thể cho nó mượn giá trị.
100+
Chúng ta sẽ truyền vào một reference — một giá trị được mượn.
103101

104102
```rust,editable
105103
fn hold_my_vec<T>(_: &Vec<T>) {}

0 commit comments

Comments
 (0)