Đây
cũng là một khái niệm bạn cần chú ý khi mới học.
Một
biến được khai báo sẽ có giá trị trong cái ngoặc mở và đóng chứa biến đó.
Tại
Playground, copy vào các dòng sau
let so=10
func f(){
print("Giá trị của so là:"+String(so))
}
f()
Chương
trình sẽ in ra số 10.
Bây
giờ thêm dòng sau vào trong hàm f().
var so=8
Bây
giờ chạy chương trình màn hình lại in ra số 8, biến so ở trong phương thức f()
và ở ngoài là khác nhau, biến ngoài gọi là biến toàn cục, bên trong gọi là biến
địa phương.
Một
biến khai báo ngay sau dấu mở của Class sẽ là biến toàn cục, khi bạn dùng nó Xcode sẽ tô màu xanh. Các biến địa phương có màu đen.
Thêm
dòng sau xuống dưới cùng
let b=so+5
Màn
hình in ra 15 là tổng của số 10 với 5, chữ so có màu xanh. Như vậy, biến địa phương so=8 chỉ có giá trị
trong cái ngoặc giới hạn của nó, ở đây là hàm f().
Bây
giờ hãy rào dòng let so=10 thành comment.
Xcode
báo lỗi chưa khai báo của so, vì so=8 ở trên chỉ dùng được trong phạm vi hàm f()
mà thôi. Nó có màu đen tức là biến địa phương.
Bây
giờ bỏ rào đi, thêm chữ b xuống dưới cùng, cả so và b sẽ có màu xanh, nó trở
thành biến toàn cục và lỗi cũng hết.
Khi
mới học bạn không nên đặt tên biến địa phương trùng với biến toàn cục vì có thể
nhầm. Lúc sau quên mất mình đang tính toán với giá trị nào.
Các
ngoặc trong Swift phân chia phạm vi của các biến, nếu không để ý, mỗi khi khai
báo biến mới, cứ thấy nó màu xanh là bạn biết đó là biến toàn cục, đen là địa phương,
vậy sẽ không bị nhầm.
No comments:
Post a Comment