01

算術運算符

算術運算符有加號(+)、減號(-)、乘號(*)、除號(/)、取餘(%),我們聲明兩個變量 a 和 b,並分別賦值 10 和 5,通過代碼,我們演示算術運算符的用法。

func main() {

a := 10

b := 5

fmt.Println("a + b = ", a+b)

fmt.Println("a - b = ", a-b)

fmt.Println("a * b = ", a*b)

fmt.Println("a / b = ", a/b)

fmt.Println("a % b = ", a%b)

}

02

++ 和 --

自增和自減不是運算符,只能作爲獨立語句使用,不能用於表達式,不能放在變量名前面使用。通過代碼,我們演示 ++ 和 -- 的用法。

func main() {

a := 10

b := 5

a++

b--

fmt.Println("a++:", a)

fmt.Println("b--:", b)

03

賦值運算符

爲了簡化表達式,與大多數語言相同,Go 語言也提供了一些賦值運算符,有等號(=)、加等(+=)、減等(-=)、乘等(*=)、除等(/*)、取餘等(%=),通過代碼,我們演示賦值運算符的用法。

func main() {

aa := 50

aa += 10

fmt.Println("aa = ", aa)


bb := 50

bb -= 10

fmt.Println("bb = ", bb)


cc := 50

cc *= 10

fmt.Println("cc = ", cc)


dd := 50

dd /= 10

fmt.Println("dd = ", dd)


ff := 50

ff %= 10

fmt.Println("ff = ", ff)

}

04

關係運算符

關係運算符主要用於流程控制語句中,在 Go 語言中,關係運算符有大於(>)、小於(<)、大於等於(>=)、小於等於(<=)、等於等於(==)和不等於(!=),通過代碼,我們演示關係運算符的用法。

func main() {

if a > 5 && b > 5 {

fmt.Println("a > 5 且 b > 5")

}


if a > 5 || b > 5 {

fmt.Println("a > 5 或 b > 5")

}


if a > 5 && b >= 5 {

fmt.Println("a > 5 且 b >= 5")

}


if a == b {

fmt.Println("a == b")

}


if a != b {

fmt.Println("a != b")

}


boolean := false

if !boolean {

fmt.Println("非假既真")

}

}

05

邏輯運算符

邏輯運算符,同樣主要用於流程控制語句中,在 Go 語言中,邏輯運算符有且(&&)、或(||)、非(!),代碼演示同上面的關係運算符代碼。

06

& 和 *

取地址符(& 和指針運算符 (* ),不是所有對象都能進行取地址操作, 但是變量 是能正確返回 地址。 指針 運算符在等號左邊 時, 可以更新目標對象, 在等號右邊時, 可以獲取目標對象。通過代碼,我們演示取地址符和指針運算符的用法。

func main() {

x := 50

y := &x

*y++

z := *y

fmt.Println("y = ", y)

fmt.Println("x = ", x)

fmt.Println("z = ", z)

}

07

位運算符

位運算符是對整數在內存中的二進制位進行操作。因爲篇幅原因,本文我們不對位運算符做過多的介紹,在工作中,個人建議儘量少用或不用位運算符,原因是代碼可讀性不好。如果你對位運算符感興趣,可自行查閱相關資料。

08

優先級

最後,我們來介紹一下運算符的優先級,一元運算符的優先級最高,二元運算符的優先級分五個級別,從高往低分別是:

>>
<=

相同優先級的二元運算符,從左往右依次計算。此外,我們還可以使用小括號提升某個表達式中運算符的優先級。

完整代碼:

輸出結果:

a + b = 15

a - b = 5

a * b = 50

a / b = 2

a % b = 0

a++: 11

b--: 4

aa = 60

bb = 40

cc = 500

dd = 5

ff = 0

a > 5 或 b > 5

a != b

非假既真

y = 0xc0000b4070

x = 51

z = 51

相關文章