最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

GO 之運(yùn)算符號(hào)的具體使用

 更新時(shí)間:2025年06月26日 08:48:23   作者:唯獨(dú)不開(kāi)心  
這篇文章主要介紹了GO運(yùn)算符號(hào)的具體使用,包括算術(shù)、一元、關(guān)系、邏輯、位運(yùn)算及賦值運(yùn)算符,感興趣的可以了解一下

算術(shù)運(yùn)算符:

二元的運(yùn)算符:+ - * / %

四則運(yùn)算沒(méi)啥好說(shuō)的,從小就開(kāi)始學(xué)習(xí),最后一個(gè) % 表示 求余數(shù)或者取模運(yùn)算。

package main


import "fmt"

func main() {
    a := 1 + 2
    b := a - 1
    c := a * b
    d := c / a
    e := c % 3
    fmt.Println("a := 1 + 2 的結(jié)果是:", a)
    fmt.Println("b := a - 1 的結(jié)果是:", b)
    fmt.Println("c := a * b 的結(jié)果是:", c)
    fmt.Println("d := c / a 的結(jié)果是:", d)
    fmt.Println("e := c % 3 的結(jié)果是:", e)
}

一元運(yùn)算符:++ -- 

  • 自增(++:將變量的值增加 1。

  • 自減(--:將變量的值減少 1。

  • 它們只能作為獨(dú)立的語(yǔ)句使用,不能出現(xiàn)在表達(dá)式中。例如,a = b++ 或 c = --d 這樣的寫(xiě)法在 Go 語(yǔ)言中是不允許的。

package main


import "fmt"

func main() {
    var i int = 1

    i++
    fmt.Println("i++ 的結(jié)果:", i)

    i--
    fmt.Println("i-- 的結(jié)果:", i)
}

關(guān)系運(yùn)算符

關(guān)系運(yùn)算符是用于比較兩個(gè)操作數(shù)的值,并返回一個(gè)布爾值。

package main


import "fmt"


func main() {
    var a int = 10
    var b int = 20

    fmt.Println("a == b : ", a, b, a == b)
    fmt.Println("a != b : ", a, b, a != b)
    fmt.Println("a > b : ", a, b, a > b)
    fmt.Println("a < b : ", a, b, a < b)
    fmt.Println("a >= b : ", a, b, a >= b)
    fmt.Println("a <= b : ", a, b, a <= b)
}

邏輯運(yùn)算符

邏輯運(yùn)算符的操作數(shù)是布爾表達(dá)式,即表達(dá)式的結(jié)果是 true 或 false。C語(yǔ)言里面,表達(dá)式的值如果是零值則為false,非零值則為true。在這里行不通了,必須是操作的必須是布爾表達(dá)式,不能直對(duì)一個(gè)變量進(jìn)行判斷了?。。?/p>

package main

import "fmt"


func main() {
    a := true
    b := false
    c := true
    d := false

    
    fmt.Println("邏輯與(&&)運(yùn)算:")
    fmt.Println(a, b, a && b)
    fmt.Println(a, c, a && c)
    fmt.Println(a, d, a && d)
    fmt.Println(b, d, b && d)

    fmt.Println("邏輯或(||)運(yùn)算:")
    fmt.Println(a, b, a || b)
    fmt.Println(a, c, a || c)
    fmt.Println(a, d, a || d)
    fmt.Println(b, d, b || d)

    fmt.Println("邏輯非(!)運(yùn)算:")
    fmt.Println(a, !a)
    fmt.Println(b, !b)
}

位運(yùn)算符 

位運(yùn)算就是將一個(gè)變量存放的數(shù)值轉(zhuǎn)換成二進(jìn)制的01表示的形式,然后再對(duì)每一個(gè)二進(jìn)制位進(jìn)行計(jì)算。主要包括 按位與(&)、按位或(|)、按位(^) 和 位清空(&^)。

  • 按位與(&) :相同位置的二進(jìn)制數(shù)值,全為1,則值為1,否則為 0
  • 按位或(|):相同位置的二進(jìn)制數(shù)值,全為0,則值為0,否則為 1
  • 按位(^):相同位置的二進(jìn)制數(shù)值,不同,則值為1,否則為 0
  • 按位清空(&^):

第一種解釋方法:

這里其實(shí)有個(gè)概念我給補(bǔ)充一下,=前面的值可以成為原始值,后面的值成為掩碼,這么一來(lái)就好解釋了。對(duì)于掩碼來(lái)說(shuō)如果二進(jìn)制位的值為 0, 則取原始值對(duì)應(yīng)的二進(jìn)制位的數(shù)值,如果為1,則對(duì)應(yīng)位的值為0

第二種解釋方法:

我自己親自計(jì)算了幾次結(jié)果都正確,數(shù)值及算法,幫助理解。

a &^ = b 相當(dāng)于 a = a & b ^ a 也相當(dāng)于 a ^ b & a

package main

import "fmt"


func main() {
    a := 10
    b := 11
    fmt.Println(a, " & ", b, "=", a & b)
    fmt.Println(a, " | ", b, "=", a | b)
    fmt.Println(a, " ^ ", b, "=", a ^ b)
    fmt.Println(a, " &^ ", b, "=", a &^ b)
}

賦值運(yùn)算符

賦值運(yùn)算符是最常用的運(yùn)算符了,其功能就是修改已經(jīng)聲明過(guò)的變量所存放的內(nèi)容。賦值運(yùn)算符也有很多結(jié)合算術(shù)、邏輯、位運(yùn)算符的用法,思路都是一樣的,以 += 為例。例如計(jì)算 a += 1, 可以等價(jià)于 a = a + 1,即先計(jì)算 a + 1 的值,再將 a + 1 的結(jié)果,放入 a 中。

package main

import "fmt"


func main() {
    var a int
    a = 10
    fmt.Println("執(zhí)行 a = 10 后 : a = ", a)
    a += 10
    fmt.Println("執(zhí)行 a += 10 后 : a = ", a)
    a -= 1
    fmt.Println("執(zhí)行 a -= 1 后 : a = ", a)
    a *= 2
    fmt.Println("執(zhí)行 a *= 2 后 : a = ", a)
    a /= 3
    fmt.Println("執(zhí)行 a /= 3 后 : a = ", a)
    a %= 10
    fmt.Println("執(zhí)行 a %= 10 后 : a = ", a)
    a <<= 1
    fmt.Println("執(zhí)行 a <<= 1 后 : a = ", a)
    a >>= 1
    fmt.Println("執(zhí)行 a >>= 1 后 : a = ", a)
    a &= 10
    fmt.Println("執(zhí)行 a &= 10 后 : a = ", a)
    a |= 10
    fmt.Println("執(zhí)行 a |= 10 后 : a = ", a)
    a ^= 10
    fmt.Println("執(zhí)行 a %= 10 后 : a = ", a)
    a %= 10
    fmt.Println("執(zhí)行 a %= 10 后 : a = ", a)
    a %= 10
    fmt.Println("執(zhí)行 a %= 10 后 : a = ", a)

}

到此這篇關(guān)于GO 之運(yùn)算符號(hào)的具體使用的文章就介紹到這了,更多相關(guān)GO 運(yùn)算符號(hào)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Go module和GoLand初始化一個(gè)Go項(xiàng)目的方法

    使用Go module和GoLand初始化一個(gè)Go項(xiàng)目的方法

    這篇文章主要介紹了使用Go module和GoLand初始化一個(gè)Go項(xiàng)目,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Go的slices.Grow優(yōu)雅擴(kuò)容的實(shí)現(xiàn)

    Go的slices.Grow優(yōu)雅擴(kuò)容的實(shí)現(xiàn)

    本文主要介紹了Go的slices.Grow優(yōu)雅擴(kuò)容的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-06-06
  • golang中連接mysql數(shù)據(jù)庫(kù)

    golang中連接mysql數(shù)據(jù)庫(kù)

    這篇文章主要介紹了golang中連接mysql數(shù)據(jù)庫(kù)的步驟,幫助大家更好的理解和學(xué)習(xí)go語(yǔ)言,感興趣的朋友可以了解下
    2020-12-12
  • Go語(yǔ)言并發(fā)之context標(biāo)準(zhǔn)庫(kù)的使用詳解

    Go語(yǔ)言并發(fā)之context標(biāo)準(zhǔn)庫(kù)的使用詳解

    Context的出現(xiàn)是為了解決在大型應(yīng)用程序中的并發(fā)環(huán)境下,協(xié)調(diào)和管理多個(gè)goroutine之間的通信、超時(shí)和取消操作的問(wèn)題,本文就來(lái)和大家簡(jiǎn)單聊聊它的具體用法,希望對(duì)大家有所幫助
    2023-06-06
  • sublime3+Golang+代碼補(bǔ)全的實(shí)現(xiàn)

    sublime3+Golang+代碼補(bǔ)全的實(shí)現(xiàn)

    本文主要介紹了sublime3+Golang+代碼補(bǔ)全的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 一文帶你掌握Golang中panic與recover的使用方法

    一文帶你掌握Golang中panic與recover的使用方法

    這篇文章主要介紹了Golang中panic與recover的作用和使用方法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的小伙伴可以參考一下
    2023-04-04
  • 深入Go goroutine理解

    深入Go goroutine理解

    這篇文章主要介紹了深入Go goroutine理解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • go select編譯期的優(yōu)化處理邏輯使用場(chǎng)景分析

    go select編譯期的優(yōu)化處理邏輯使用場(chǎng)景分析

    select 是 Go 中的一個(gè)控制結(jié)構(gòu),類(lèi)似于用于通信的 switch 語(yǔ)句。每個(gè) case 必須是一個(gè)通信操作,要么是發(fā)送要么是接收。接下來(lái)通過(guò)本文給大家介紹go select編譯期的優(yōu)化處理邏輯使用場(chǎng)景分析,感興趣的朋友一起看看吧
    2021-06-06
  • golang實(shí)現(xiàn)ping命令的完整代碼

    golang實(shí)現(xiàn)ping命令的完整代碼

    這篇文章給大家介紹了如何使用golang實(shí)現(xiàn)ping命令,文中給大家介紹了完整的實(shí)現(xiàn)代碼,并有詳細(xì)的圖文講解,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • golang?MySQL實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)表存儲(chǔ)獲取操作示例

    golang?MySQL實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)表存儲(chǔ)獲取操作示例

    這篇文章主要為大家介紹了golang?MySQL實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)表存儲(chǔ)獲取操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11

最新評(píng)論

乐东| 阿勒泰市| 定安县| 黄陵县| 醴陵市| 城固县| 台州市| 元氏县| 洛扎县| 营口市| 长汀县| 安塞县| 遵义市| 永泰县| 大方县| 齐齐哈尔市| 赣榆县| 阆中市| 瑞丽市| 米林县| 大安市| 广安市| 潞西市| 德清县| 尤溪县| 东辽县| 成武县| 南安市| 黑水县| 长葛市| 清流县| 湟源县| 惠水县| 乌拉特后旗| 府谷县| 海南省| 绥滨县| 琼中| 密山市| 五指山市| 津南区|