Bicep 運算子
本文描述 Bicep 運算子。 運算子用於計算值、比較值或評估條件。 Bicep 運算子有六種類型:
運算子優先順序和關聯性
下列運算子以遞減順序列出 (位置愈高優先順序愈高)。 同層級的運算子優先順序相同。
符號 | 運算類型 | 關聯性 |
---|---|---|
( ) [ ] . :: |
括弧、陣列索引子、屬性存取子和巢狀資源存取子 | 由左至右 |
! - |
一元 | 由右至左 |
% * / |
乘法 | 由左至右 |
+ - |
加法 | 由左至右 |
<= < > >= |
關聯式 | 由左至右 |
== != =~ !~ |
等式 | 由左至右 |
&& |
邏輯 AND | 由左至右 |
|| |
邏輯 OR | 由左至右 |
?? |
Coalesce | 由左至右 |
? : |
條件運算式 (三元) | 由右至左 |
括號
括弧之間的運算式可讓您覆寫預設的 Bicep 運算子優先順序。 例如:運算式 x + y / z
會先評估除法,接著是加法。 但運算式 (x + y) / z
則先評估加法,再評估除法。
存取子
存取子運算子用於存取物件的巢狀資源和屬性。
運算子 | 名稱 | 描述 |
---|---|---|
[] |
索引存取子 | 存取物件的陣列或屬性元素。 |
. |
函式存取子 | 呼叫資源的函式。 |
:: |
巢狀資源存取子 | 存取父資源外部的巢狀資源。 |
. |
屬性存取子 | 存取物件的屬性。 |
比較
比較運算子會比較值,並傳回 true
或 false
。
運算子 | 名稱 | 描述 |
---|---|---|
>= |
大於或等於 | 評估第一個值是否大於或等於第二個值。 |
> |
大於 | 評估第一個值是否大於第二個值。 |
<= |
小於或等於 | 評估第一個值是否小於或等於第二個值。 |
< |
小於 | 評估第一個值是否小於第二個值。 |
== |
等於 | 評估兩個值是否相等。 |
!= |
不等於 | 評估兩個值是否不相等。 |
=~ |
等於不區分大小寫 | 忽略大小寫,以判斷兩個值是否相等。 |
!~ |
不等於不區分大小寫 | 忽略大小寫,以判斷兩個值是否不相等。 |
邏輯
邏輯運算子可評估布林值、傳回非 Null 值,或評估條件運算式。
運算子 | 名稱 | 描述 |
---|---|---|
&& |
And | 若所有值皆為 true,則傳回 true 。 |
|| |
Or | 若任一值為 true,則傳回 true 。 |
! |
Not | 否定布林值。 使用一個運算元。 |
?? |
Coalesce | 傳回第一個非 Null 值。 |
? : |
條件運算式 | 評估條件為 true 或 false,並傳回值。 |
Null-forgiving
Null-forgiving 運算子會隱藏先前運算式的所有可為 Null 警告。
運算子 | 名稱 | 描述 |
---|---|---|
! |
Null-forgiving | 隱藏先前運算式的所有可為 Null 警告。 |
數值
數值運算子使用整數執行計算,並傳回整數值。
運算子 | 名稱 | 描述 |
---|---|---|
* |
乘積 | 兩個整數相乘。 |
/ |
分割 | 整數除以整數。 |
% |
模數 | 整數除以整數,並傳回餘數。 |
+ |
加入 | 兩個整數相加。 |
- |
差集 | 將整數減去另一個整數。 使用兩個運算元。 |
- |
減號 (一元) | -1 乘以整數。 使用一個運算元。 |
注意
減法和減號使用相同運算子。 功能上有所不同:減法使用兩個運算元,減號則僅使用一個運算元。
Safe-dereference
safe-dereference 運算子有助於在嘗試存取不曉得其存在或值的屬性或元素時,防止可能的錯誤發生。
運算子 | 名稱 | 描述 |
---|---|---|
<base>.?<property> , <base>[?<index>] |
Safe-dereference | 在其運算元評估為非 Null 時,才會允許對該運算元進行物件成員存取或陣列元素存取;若非如此,會傳回 null 。 |
Spread
散布運算子是用來將可反覆運算的陣列或對象展開成個別元素。 散布運算子可讓您輕鬆地操作數位或物件,方法是將其元素或屬性分散到新的數位或物件。
運算子 | 名稱 | 描述 |
---|---|---|
... |
Spread | 允許將可反覆運算的陣列和物件擴充至個別項目或屬性。 |
下一步
- 若要建立 Bicep 檔案,請參閱快速入門:使用 Visual Studio Code 建立 Bicep 檔案。
- 如需如何解決 Bicep 類型錯誤的詳細資訊,請參閱 Bicep 的 Any 函式。
- 若要比較 Bicep 和 JSON 的語法,請參閱比較範本的 JSON 和 Bicep。
- 如需 Bicep 函式的範例,請參閱 Bicep 函式。