[Day-27]Zig:進階迴圈
先前已經介紹過基本的 for
和 while
迴圈用法,這裡來介紹一些更進階的功能和語法。
Loop as Expression
Zig 的迴圈可以作為表達式(Expression)以回傳值。將 break
當成 return
使用,在後面加上要回傳的值,並加上 else
分支,當迴圈到結束都沒有執行到 break
時會回傳 else
後接的值。
1 |
|
1 |
|
內聯 Inline
迴圈也可以加上 inline
使其內聯。但要注意和對函式使用 inline
時一樣,一般來說編譯器會自動做最適合的處理,只有在你明確知道該情況顯式使用 inline
會有更好的效果時再使用,不然多數情況下交由編譯器判斷即可。
這個範例可能不是很適合,實際情況下如何有類似的需求,comptime 可能是更好的選擇。
1 |
|
1 |
|
參考
- Loops as Expressions | zig.guide
- Inline loop
本文以 Zig 0.13.0
為主。並同時發佈在:
留言可能不會立即顯示。若過了幾天仍未出現,請 Email 聯繫:)