亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

GO 之運算符號的具體使用

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

算術(shù)運算符:

二元的運算符:+ - * / %

四則運算沒啥好說的,從小就開始學習,最后一個 % 表示 求余數(shù)或者取模運算。

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)
}

一元運算符:++ -- 

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

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

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

package main


import "fmt"

func main() {
    var i int = 1

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

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

關(guān)系運算符

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

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)
}

邏輯運算符

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

package main

import "fmt"


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

    
    fmt.Println("邏輯與(&&)運算:")
    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("邏輯或(||)運算:")
    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("邏輯非(!)運算:")
    fmt.Println(a, !a)
    fmt.Println(b, !b)
}

位運算符 

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

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

第一種解釋方法:

這里其實有個概念我給補充一下,=前面的值可以成為原始值,后面的值成為掩碼,這么一來就好解釋了。對于掩碼來說如果二進制位的值為 0, 則取原始值對應的二進制位的數(shù)值,如果為1,則對應位的值為0

第二種解釋方法:

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

a &^ = b 相當于 a = a & b ^ a 也相當于 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)
}

賦值運算符

賦值運算符是最常用的運算符了,其功能就是修改已經(jīng)聲明過的變量所存放的內(nèi)容。賦值運算符也有很多結(jié)合算術(shù)、邏輯、位運算符的用法,思路都是一樣的,以 += 為例。例如計算 a += 1, 可以等價于 a = a + 1,即先計算 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 之運算符號的具體使用的文章就介紹到這了,更多相關(guān)GO 運算符號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Go?文件讀取和寫入操作全面講解

    Go?文件讀取和寫入操作全面講解

    這篇文章主要為大家介紹了Go文件的讀取和寫入操作示例的全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Go中的函數(shù)選項模式(Functional Options Pattern)詳解

    Go中的函數(shù)選項模式(Functional Options Pattern)詳解

    在 Go 語言中,函數(shù)選項模式是一種優(yōu)雅的設計模式,用于處理函數(shù)的可選參數(shù),本文將對其進行講解,準備好了嗎,快跟隨著本文一探究竟吧
    2023-06-06
  • go語言打包的網(wǎng)頁wasm示例詳解

    go語言打包的網(wǎng)頁wasm示例詳解

    這篇文章主要為大家介紹了go打包網(wǎng)頁wasm示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>
    2022-09-09
  • Go語言JSON解析器gjson使用方法詳解

    Go語言JSON解析器gjson使用方法詳解

    這篇文章主要介紹了Go語言json解析框架與gjson,JSON?解析是我們不可避免的常見問題,在Go語言中,我們可以借助gjson庫來方便的進行json屬性的提取與解析,需要的朋友可以參考一下
    2022-12-12
  • 簡單易用的Go逗號comma ok模式使用詳解

    簡單易用的Go逗號comma ok模式使用詳解

    這篇文章主要為大家介紹了簡單易用的Go逗號comma ok模式使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • 利用Golang實現(xiàn)對配置文件加密

    利用Golang實現(xiàn)對配置文件加密

    在實際的應用中,配置文件通常包含了一些敏感的信息,如數(shù)據(jù)庫密碼、API密鑰等,為了保護這些敏感信息不被惡意獲取,我們可以對配置文件進行加密,本文將介紹如何使用Go語言實現(xiàn)對配置文件的加密,需要的朋友可以參考下
    2023-10-10
  • go語言中結(jié)構(gòu)體tag使用小結(jié)

    go語言中結(jié)構(gòu)體tag使用小結(jié)

    Go語言是一種靜態(tài)類型、編譯型的編程語言,其中結(jié)構(gòu)體是一種非常重要的數(shù)據(jù)類型,本文就來介紹一下go語言中結(jié)構(gòu)體tag使用,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • Go中的應用配置管理詳解

    Go中的應用配置管理詳解

    這篇文章主要為大家介紹了Go中的應用配置管理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • 詳解Go如何基于現(xiàn)有的context創(chuàng)建新的context

    詳解Go如何基于現(xiàn)有的context創(chuàng)建新的context

    在?Golang?中,context?包提供了創(chuàng)建和管理上下文的功能,那么在GO語言中如何基于現(xiàn)有的context創(chuàng)建新的context,下面小編就來和大家詳細聊聊
    2024-01-01
  • Golang并發(fā)發(fā)送HTTP請求的各種方法

    Golang并發(fā)發(fā)送HTTP請求的各種方法

    在 Golang 領(lǐng)域,并發(fā)發(fā)送 HTTP 請求是優(yōu)化 Web 應用程序的一項重要技能,本文探討了實現(xiàn)此目的的各種方法,從基本的 goroutine 到涉及通道和sync.WaitGroup 的高級技術(shù),需要的朋友可以參考下
    2024-02-02

最新評論