第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開(kāi)發(fā)者教程

Go 入門教程

Go 語(yǔ)言基礎(chǔ)教程
01 Go語(yǔ)言簡(jiǎn)介 02 Go 在 Windows 上的安裝及配置 03 Go 在 Linux 上的安裝與配置 04 Go 在 MacOS 上的安裝及配置 05 Git 的下載和安裝 06 VSCode 編輯器安裝和配置 07 Go 的變量聲明 08 Go 的變量賦值 09 Go 語(yǔ)言的 := 10 Go 的整型(int) 11 Go 的無(wú)符號(hào)整型(uint) 12 Go 的浮點(diǎn)型(float) 13 Go 的字符類型 14 Go 的布爾型(bool) 15 Go 的強(qiáng)制類型轉(zhuǎn)換 16 Go 語(yǔ)言的常量 17 Go 語(yǔ)言中代替枚舉的辦法 18 Go 語(yǔ)言中的運(yùn)算符 19 Go 語(yǔ)言的分支語(yǔ)句 20 Go 語(yǔ)言的循環(huán)語(yǔ)句 21 Go 語(yǔ)言的通道 22 Go 語(yǔ)言中的函數(shù) 23 Go 語(yǔ)言函數(shù)中的 defer 24 Go 語(yǔ)言中的閉包 25 Go 語(yǔ)言的指針 26 Go 語(yǔ)言中的數(shù)組 27 Go 語(yǔ)言中的切片 28 Go 語(yǔ)言中的 Map 29 Go 語(yǔ)言中的 range 30 Go 語(yǔ)言拓展以有類型 31 Go 語(yǔ)言中的結(jié)構(gòu)體和"面向?qū)ο?quot; 32 Go 語(yǔ)言中的接口 33 Go 語(yǔ)言類型的內(nèi)嵌 34 Go 語(yǔ)言中的 nil 35 Go 語(yǔ)言函數(shù)式編程 36 Go 語(yǔ)言中的錯(cuò)誤和異常處理 37 Go 語(yǔ)言的并發(fā) 38 Go 語(yǔ)言中的包 39 Go 語(yǔ)言 go mod 包依賴管理工具 40 Go 語(yǔ)言的文件操作 41 Go 語(yǔ)言中的系統(tǒng)包 42 Go 語(yǔ)言的 strings 系統(tǒng)包的使用 43 Go 語(yǔ)言中的變參 44 Go 語(yǔ)言中的反射 45 Go 語(yǔ)言性能測(cè)試 46 使用 Go 語(yǔ)言搭建簡(jiǎn)易登錄功能 47 使用 gin 包優(yōu)化登錄功能
首頁(yè) 慕課教程 Go 入門教程 Go 入門教程 18 Go 語(yǔ)言中的運(yùn)算符

Go 語(yǔ)言中的運(yùn)算符

本文主要介紹 Go語(yǔ)言中的各種運(yùn)算符的使用以及其優(yōu)先級(jí)的比較。Go 語(yǔ)言中運(yùn)算符分為下面幾大類:

  • 算數(shù)運(yùn)算符;
  • 關(guān)系運(yùn)算符;
  • 邏輯運(yùn)算符;
  • 位運(yùn)算符;
  • 復(fù)制運(yùn)算符。

下面我們就來(lái)一一看下這幾種運(yùn)算符如何使用。

1. Go 語(yǔ)言的算數(shù)運(yùn)算符

Go語(yǔ)言中的算數(shù)運(yùn)算符如表所示:

運(yùn)算符 結(jié)合性 描述
+ 從左到右 運(yùn)算符左邊的實(shí)體加上右邊的實(shí)體
- 從左到右 運(yùn)算符左邊的實(shí)體減去右邊的實(shí)體
* 從左到右 運(yùn)算符左邊的實(shí)體乘以右邊的實(shí)體
/ 從左到右 運(yùn)算符左邊的實(shí)體除以右邊的實(shí)體
% 從左到右 運(yùn)算符左邊的實(shí)體對(duì)右邊的實(shí)體取余
++ 從右到左 左邊的變量使用后自加一
從右到左 左邊的變量使用后自減一

代碼示例:

package main

import (
    "fmt"
)

func main() {
    var a = -7
    var b = 4

    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)

    //++和--只能獨(dú)立為一條語(yǔ)句使用
    a++
    fmt.Println("a++:", a)
    b--
    fmt.Println("b--:", b)
}

執(zhí)行結(jié)果:

圖片描述

2. Go 語(yǔ)言的關(guān)系運(yùn)算符

Go語(yǔ)言中的關(guān)系運(yùn)算符如表所示:

運(yùn)算符 結(jié)合性 描述
== 從左到右 左右兩邊實(shí)體相等運(yùn)算結(jié)果為true,否則為false
!= 從左到右 左右兩邊實(shí)體不等運(yùn)算結(jié)果為true,否則為false
>= 從左到右 左邊的實(shí)體大于或等于右邊運(yùn)算結(jié)果為true,否則為false
> 從左到右 左邊的實(shí)體大于右邊運(yùn)算結(jié)果為true,否則為false
<= 從左到右 左邊的實(shí)體小于或等于右邊運(yùn)算結(jié)果為true,否則為false
< 從左到右 左邊的實(shí)體小于右邊運(yùn)算結(jié)果為true,否則為false

代碼示例:

package main

import (
    "fmt"
)

func main() {
    var a = -7
    var b = 4

    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)
    fmt.Println(" a < b :", a < b)
}

執(zhí)行結(jié)果:

圖片描述

3. Go 語(yǔ)言的邏輯運(yùn)算符

Go語(yǔ)言中的邏輯運(yùn)算符如表所示:

運(yùn)算符 結(jié)合性 描述
&& 從左到右 左右實(shí)體均為 true 運(yùn)算結(jié)果為 true ,否則為 false
|| 從左到右 左右實(shí)體均為 false 運(yùn)算結(jié)果為 false ,否則為 true
! 從右到左 右邊實(shí)體為 false 運(yùn)算結(jié)果為 true ,否則為 false

代碼示例:

package main

import (
    "fmt"
)

func main() {
    var a = true
    var b = false

    fmt.Println("a && b :", a && b)
    fmt.Println("a || b :", a || b)
    fmt.Println("    !a :", !a)
}

運(yùn)算結(jié)果:

圖片描述

4. Go 語(yǔ)言的位運(yùn)算符

Go 語(yǔ)言的位運(yùn)算符如表所示:

運(yùn)算符 結(jié)合性 描述
& 從左到右 按位與
| 從左到右 按位或
^ 從左到右 按位異或
<< 從左到右 左位移
>> 從左到右 右位移

代碼示例:

package main

import (
    "fmt"
)

func main() {
    var a = 28 //0001 1100
    var b = 99 //0110 0011

    fmt.Println(" a & b :", a&b)  //0 : 0000 0000
    fmt.Println(" a | b :", a|b)  //127 : 0111 1111
    fmt.Println(" a ^ b :", a^b)  //127 : 0111 1111
    fmt.Println("a >> 2 :", a>>2) //7 : 0000 0111
    fmt.Println("b << 1 :", b<<1) //198 : 1100 0110
}

執(zhí)行結(jié)果:

圖片描述

5.Go 語(yǔ)言的賦值運(yùn)算符

Go語(yǔ)言賦值運(yùn)算符如下表所示:

運(yùn)算符 結(jié)合性 描述
= 從右到左 將左邊的實(shí)體賦值給右邊的變量
+= 從右到左 將右邊的變量與左邊的實(shí)體進(jìn)行加運(yùn)算之后賦值給右邊的變量
-= 從右到左 將右邊的變量與左邊的實(shí)體進(jìn)行減****運(yùn)算之后賦值給右邊的變量
*= 從右到左 將右邊的變量與左邊的實(shí)體進(jìn)行乘運(yùn)算之后賦值給右邊的變量
/= 從右到左 將右邊的變量與左邊的實(shí)體進(jìn)行除運(yùn)算之后賦值給右邊的變量
%= 從右到左 將右邊的變量與左邊的實(shí)體進(jìn)行取余運(yùn)算之后賦值給右邊的變量
>>= 從右到左 將右邊的變量與左邊的實(shí)體進(jìn)行右位移運(yùn)算之后賦值給右邊的變量
<<= 從右到左 將右邊的變量與左邊的實(shí)體進(jìn)行左位移運(yùn)算之后賦值給右邊的變量
&= 從右到左 將右邊的變量與左邊的實(shí)體進(jìn)行與運(yùn)算之后賦值給右邊的變量
|= 從右到左 將右邊的變量與左邊的實(shí)體進(jìn)行或運(yùn)算之后賦值給右邊的變量
^= 從右到左 將右邊的變量與左邊的實(shí)體進(jìn)行異或運(yùn)算之后賦值給右邊的變量

代碼示例:

package main

import (
    "fmt"
)

func main() {
    var a = 28
    var b = 99
    a = b
    fmt.Println("  a = b :", a)
    a = 28
    a += b
    fmt.Println(" a += b :", a)
    a = 28
    a -= b
    fmt.Println(" a -= b :", a)
    a = 28
    a *= b
    fmt.Println(" a *= b :", a)
    a = 28
    a /= 2
    fmt.Println(" a /= 2 :", a)
    a = 28
    b %= 1
    fmt.Println(" b %= 1 :", a)
    a = 28
    a &= b
    fmt.Println(" a &= b :", a)
    a = 28
    a |= b
    fmt.Println(" a |= b :", a)
    a = 28
    a ^= b
    fmt.Println(" a ^= b :", a)
    a = 28
    a >>= 2
    fmt.Println("a >>= 2 :", a)
    a = 28
    b <<= 1
    fmt.Println("b <<= 1 :", a)
}

執(zhí)行結(jié)果:

圖片描述

6. 優(yōu)先級(jí)

下表為各運(yùn)算符的優(yōu)先級(jí)示圖,優(yōu)先級(jí)從高到低

優(yōu)先級(jí) 類別 運(yùn)算符
1 括號(hào)運(yùn)算符 ()
2 單目運(yùn)算符 !、++、–
3 算數(shù)運(yùn)算符 *、/、%
4 +、-
5 位移運(yùn)算符 >>、<<
6 關(guān)系運(yùn)算符 <、<=、>、>=
7 ==、!=
8 按位與 &
9 按位異或 ^
10 按位或 |
11 邏輯與 &&
12 邏輯或 ||
13 賦值運(yùn)算符 =、+=、-=、*=、/=、 %=、 >=、 <<=、&=、^=、|=

代碼示例:


package main

import (
    "fmt"
)

func main() {
    var a = 28
    var b = 99
    fmt.Println("  a + b * 2 =", a+b*2)   //乘法優(yōu)先級(jí)較高,先執(zhí)行乘法
    fmt.Println("(a + b) * 2 =", (a+b)*2) //括號(hào)優(yōu)先級(jí)最高,先執(zhí)行括號(hào)中的運(yùn)算
}

執(zhí)行結(jié)果:

圖片描述

7. 小結(jié)

Go 語(yǔ)言的運(yùn)算符一般分為算數(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符位運(yùn)算符以及賦值運(yùn)算符四大類。在使用過(guò)程中如果記不清楚運(yùn)算符的優(yōu)先級(jí),可以使用特殊的運(yùn)算符——括號(hào)運(yùn)算符(),其優(yōu)先級(jí)最高,使用它就可以隨心所欲的控制優(yōu)先級(jí)了。