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