mutating
keyword được sử dụng trong struct để chỉ định rằng một phương thức có thể thay đổi giá trị của các thuộc tính bên trong struct. Điều này là cần thiết vì mặc định, các phương thức của struct không được phép thay đổi giá trị của thuộc tính.
Dưới đây là một ví dụ đơn giản về cách sử dụng mutating
method trong struct:
struct Point {
var x: Double
var y: Double
// Mutating method để di chuyển điểm theo một khoảng x và y
mutating func moveBy(x deltaX: Double, y deltaY: Double) {
x += deltaX
y += deltaY
}
}
// Tạo một đối tượng Point
var myPoint = Point(x: 10.0, y: 20.0)
// In ra giá trị ban đầu
print("Initial Point: (\(myPoint.x), \(myPoint.y))")
// Gọi phương thức mutating để di chuyển điểm
myPoint.moveBy(x: 5.0, y: 5.0)
// In ra giá trị sau khi di chuyển
print("Point after moving: (\(myPoint.x), \(myPoint.y))")
Trong ví dụ trên:
Point
là một struct đại diện cho một điểm trên mặt phẳng với các thuộc tínhx
vày
.- Phương thức
moveBy
được đánh dấu làmutating
, cho phép nó thay đổi giá trị củax
vày
. - Khi gọi phương thức
moveBy
, giá trị củamyPoint
thay đổi dựa trên giá trị được truyền vào.
Lưu ý rằng mutating
chỉ cần được sử dụng cho các phương thức trong struct. Với class, mặc định các phương thức là có thể thay đổi thuộc tính và không cần từ khóa mutating
.
Xin chào,
99,99% bài viết tại website là kết quả của khai thác dữ liệu từ AI ChatGPT sau đó được lựa chọn, biên tập lại nội dung, chỉ vài bài là không dùng AI. Tôi lưu tại website này để tra cứu khi cần, để học và để chia sẻ cho bạn bè tôi. Nếu bạn tìm thấy nội dung nào đó khi tìm kiếm thì cứ đọc thoải mái, nó miễn phí, không quảng cáo.
Các bạn có thể tải app của tôi trên App Store hoặc Google Play:
QuestionBank-Ôn thi vào 10: phiên bản iOS, phiên bản Android
TypingTest by QuestionBank: phiên bản iOS, phiên bản Android
Xin cảm ơn,
Minh