位置:首頁 > 高級語言 > Swift教學 > Swift二元表達式

Swift二元表達式

二元表達式(Binary Expressions)

二元表達式由 "左邊參數" + "二元運算符" + "右邊參數" 組成, 它有如下的形式:

left-hand argument operator right-hand argument

Swift 標準庫提供了如下的二元運算符:

  • 求冪相關(無結合,優先級160)
    • << 按位左移(Bitwise left shift)
    • 按位右移(Bitwise right shift)

  • 乘除法相關(左結合,優先級150)
    • * 乘
    • / 除
    • % 求餘
    • &* 乘法,忽略溢出( Multiply, ignoring overflow)
    • &/ 除法,忽略溢出(Divide, ignoring overflow)
    • &% 求餘, 忽略溢出( Remainder, ignoring overflow)
    • & 位與( Bitwise AND)
  • 加減法相關(左結合, 優先級140)
    • + 加
    • - 減
    • &+ Add with overflow
    • &- Subtract with overflow
    • | 按位或(Bitwise OR )
    • ^ 按位異或(Bitwise XOR)
  • Range (無結合,優先級 135)
    • .. 半閉值域 Half-closed range
    • ... 全閉值域 Closed range
  • 類型轉換 (無結合,優先級 132)
    • is 類型檢查( type check)
    • as 類型轉換( type cast)
  • Comparative (無結合,優先級 130)
    • < 小於
    • <= 小於等於
    • 大於

    • = 大於等於

    • == 等於
    • != 不等
    • === 恒等於
    • !== 不恒等
    • ~= 模式匹配( Pattern match)
  • 合取( Conjunctive) (左結合,優先級 120)
    • && 邏輯與(Logical AND)
  • 析取(Disjunctive) (左結合,優先級 110)
    • || 邏輯或( Logical OR)
  • 三元條件(Ternary Conditional )(右結合,優先級 100)
    • ?: 三元條件 Ternary conditional
  • 賦值 (Assignment) (右結合, 優先級 90)
    • = 賦值(Assign)
    • *= Multiply and assign
    • /= Divide and assign
    • %= Remainder and assign
    • += Add and assign
    • -= Subtract and assign
    • <<= Left bit shift and assign
    • = Right bit shift and assign

    • &= Bitwise AND and assign
    • ^= Bitwise XOR and assign
    • |= Bitwise OR and assign
    • &&= Logical AND and assign
    • ||= Logical OR and assign

關於這些運算符(operators)的更多信息,請參見:Basic Operators and Advanced Operators.


注意
在解析時, 一個二元表達式表示為一個一級數組(a flat list), 這個數組(List)根據運算符的先後順序,被轉換成了一個tree. 例如: 2 + 3 5 首先被認為是: 2, + , 3, 5. 隨後它被轉換成 tree (2 + (3 * 5))
 

 


二元表達式語法
二元表達式 → 二元運算符 前置表達式
二元表達式 → 賦值運算符 前置表達式
二元表達式 → 條件運算符 前置表達式
二元表達式 → 類型轉換運算符
二元表達式列表 → 二元表達式 二元表達式列表 可選