Monday, September 11, 2017

Bài 6 - Biến toàn cục, biến địa phương

Đâ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ị ca 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