Lesson 08 — Toán tử & Biểu thức

Ba module tương tác để cảm giác được: (1) bitwise calculator hiển thị từng bit, (2) precedence explorer vẽ thứ tự eval, (3) type conversion checker nói rõ Go có yêu cầu convert không.

Module 1 — Bitwise Calculator

Nhập 2 số (0–255, đủ 8 bit để dễ nhìn), chọn toán tử, xem từng bit thay đổi thế nào. Pattern thực tế: Linux file permission, network flag, bitmap index.

Pattern Linux permission (số có nghĩa):

Module 2 — Precedence Explorer

Chọn một biểu thức Go, viz sẽ vẽ thứ tự eval theo precedence Go dạng bước-bước, kèm bảng 5 mức Go.

Bảng 5 mức precedence Go

MứcToán tửTên
5 (cao)+x -x !x ^x *p &x <-chunary
4* / % << >> & &^mul-class
3+ - | ^add-class
2== != < <= > >=comparison
1&&logical AND
0 (thấp)||logical OR

Module 3 — Type Conversion Checker

Chọn 2 kiểu Go bất kỳ. Viz sẽ nói: có cần convert explicit không, conversion có lossy không, code đúng phải viết thế nào.


+

Nhắc nhanh: Go KHÔNG tự convert kiểu trong biểu thức (kể cả intint64). Phải dùng cú pháp T(x). Untyped constant (literal chưa khai báo kiểu) là ngoại lệ, fit theo context.