首頁  >  文章  >  後端開發  >  Go 語言中的運算子優先順序有哪些?

Go 語言中的運算子優先順序有哪些?

WBOY
WBOY原創
2023-06-10 11:04:361772瀏覽

在 Go 語言中,有很多種運算符,這些運算符的計算順序是按照一定的規則來確定的,這就是所謂的運算符優先級,它能夠決定程式執行順序。本文將介紹 Go 語言中的運算子優先順序。

一、基礎運算子

  1. 算術運算子

#算術運算子包含加( )、減(-)、乘(*)、除(/)和取餘(%)五種,其中優先權從高到低依序為:

  1. 括號(())
  2. 取反(-x)
  3. 乘法、除法與取餘(*、/、%)
  4. 加法、減法( 、-)

舉例:

a := 10 202 // 先乘法,再加法,等價於a := 10 (202) = 50
b := (10 20) 2 // 使用括號,先加法,再乘法,等價於b := (10 20) 2 = 60

  1. 關係運算子
##關係運算子包含等於(==)、不等於(!=)、大於(>)、小於(<)、大於等於(>=)和小於等於(<=)六種,其中優先權由高到低依次為:

    括號(())
  1. #大於、小於、大於等於、小於等於(>、<、>=、<=)
  2. #等於、不等於(==、!=)
舉例:

a := 10 > 5 && 5 < 3 || 4 > 2 // 先執行&&,再執行||,等價於a := (10 > 5 && 5 < 3) || (4 > 2) = true

    邏輯運算符
邏輯運算子包括取反(!)、與(&&)和或(||)三種,其中優先權由高到低依序為:

    括號(())
  1. 取反(!)
  2. 與(&&)
  3. 或(||)
舉個例子:

a := true || false && !true // 先執行!,再執行&&,最後執行||,等價於a := true || false = true

#二、位元運算子

位元運算子包括位元與(&)、位元或(|)、異或(^)、左移(<<)和右移(>> ;)五種,其中優先權由高到低依序為:

    括號(())
  1. 左移、右移(<<、>> )
  2. 按位與(&)
  3. 按位異或(^)
  4. #位元或(|)
  5. ##舉個例子:

a := 1 << 2 & 3 | 4 ^ 5 >> 2 // 先執行<<、>>,再執行&、^,最後執行| ,等價於a := 0 | 1 = 1

三、賦值運算子

賦值運算子包括等於(=)、加等於( =)、減等於(-=) 、乘等於(*=)、除等於(/=)、取餘等於(%=)、左移等於(<<=)、右移等於(>>=)、位元與等於( &=)、位元或等於(|=)和位元異或等於(^=)十一種,其中優先權從低到高依序為:

按位或等於( |=)
  1. 按位異或等於(^=)
  2. 按位與等於(&=)
  3. 左移等於(<<=)
  4. 右移等於(>>=)
  5. 取餘等於(%=)
  6. 除等於(/=)
  7. ##乘等於(*= )
  8. 減等於(-=)
  9. 加上等於( =)
  10. #等於(=)
  11. 舉例:
a, b := 1, 2

a = b 3

4 // 先執行乘法,再執行加法,最後執行=,等價於a = a (b 3

4) = 15
透過了解Go 語言中各種運算子的優先級,我們可以更準確地寫出程序,並且更能理解程式的計算過程。

以上是Go 語言中的運算子優先順序有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn