Ngoài rẽ nhánh dạng if else, trong các ngôn ngữ lập trình thường sử dụng một loại rẽ nhánh khác đó là switch case. Trong bài này chúng ta sẽ học cách sử dụng rẽ nhánh switch case với mã nguồn blog
b:switch / b:case / b:default tương tự như b:if / b:elseif / b:else.
Cấu trúc như sau
<b:switch var='EXPRESSION'>
<b:case value='VALUE1'/>
<!-- Khối lệnh cho giá trị VALUE1 == true -->
<b:case value='VALUE2'/>
<!-- Khối lệnh cho giá trị VALUE2 == true -->
<b:default/>
<!-- Khối lệnh cho các trường hợp còn lại -->
</b:switch>
+ <b:switch>, <b:case> và <b:default> hoạt động trong mọi mã XML trừ b:skin
+ <b:case>, <b:default> bắt buộc phải có <b:switch> đi kèm
+ <b:case> bắt buộc, <b:default> không bắt buộc
+ <b:case> có thể sử dụng nhiều lần trong 1 <b:switch>
+ <b:default> chỉ được sử dụng 1 lần, trong trường hợp xuất hiện cả <b:switch>, <b:case> và <b:default> thì <b:default> phải là ngoại lệ cuối cùng
+ Khi sử dụng <b:default> thì <b:switch>, <b:case> bắt buộc phải có thuộc tính ví dụ
<b:switch var='EXPRESSION'>
<b:case value='VALUE'/>
<b:default/>
</b:switch>
Ví dụ
Sử dụng với dữ liệu boolean<b:switch var='data:view.isPost'>
<b:case value='true'/>
<!-- Khối lệnh nếu data:view.isPost == true -->
<b:default/>
<!-- Khối lệnh cho trường hợp còn lại tức data:view.isPost == false -->
</b:switch>
Với dữ liệu dạng string
<b:switch var='data:view.type'>
<b:case value='item'/>
<!-- Khối lệnh cho data:view.type == "item" -->
<b:case value='feed'/>
<!-- Khối lệnh cho data:view.type == "feed" -->
<b:default/>
<!-- Các trường hợp còn lại -->
</b:switch>
Sử dụng với biểu thức
<b:switch var='data:posts.length + 10'>
<b:case value='0'/>
<!-- Khối lệnh cho giá trị biểu thức = 0 -->
<b:case expr:value='10 - 1'/>
<!-- Khối lệnh cho giá trị biểu thức = kết quả phép tính 10 - 1 -->
<b:default/>
<!-- Các trường hợp còn lại -->
</b:switch>
Như vậy b:switch thích hợp cho trường hợp bài toán có nhiều rẽ nhánh với phép so sánh tương đồng. sử dụng b:switch cũng giúp code gọn nhẹ, dễ hiểu hơn
Chúc bạn học tốt !
1. Không vi phạm luật pháp nước CHXHCN Việt Nam
2. Không vi phạm thuần phong mỹ tục Việt Nam
3. Không bàn luận vấn đề liên quan đến tôn giáo, chính trị
4. Không đả kích, chửi bới hay đưa ra những lời nói không phù hợp với mục tiêu của website
5. Không bình luận với mục đích quảng cáo, trao đổi, mua bán
6. Khuyến khích sử dụng Tiếng Việt có dấu, hạn chế sử dụng tiếng lóng, viết tắt
7. Khi cần sự trợ giúp, vui lòng miêu tả chi tiết lỗi và để lại link đính kèm, tránh nói chung chung gây mất thời gian cho đôi bên