Go 語言的各種運算符

更新於 2023/08/22閱讀時間約 6 分鐘
raw-image


👨‍💻簡介

本文快速介紹了 Go 語言中的各種運算符,從數學計算到邏輯判斷,包括自增自減、賦值、比較和位運算。透過實例和清晰的解釋,快速掌握如何在程式中運用這些運算符。

算術運算符

在 Go 語言中,我們可以使用各種算術運算符來執行基本的數學運算。以下是一些常用的算術運算符:

  • +:加法運算,用來將兩個數相加。
  • -:減法運算,用來從一個數中減去另一個數。
  • *:乘法運算,用來將兩個數相乘。
  • /:除法運算,用來將一個數除以另一個數。
  • %:求餘運算,用來得到兩個數相除的餘數。

例如:

a := 5
b := 3
c := a + b // c 的值是 8
d := a * b // d 的值是 15

此外,我們還有自增和自減運算符,它們用來讓變數的值增加或減少 1:

  • ++:自增運算符,將變數的值增加 1。
  • --:自減運算符,將變數的值減少 1。

舉個例子:

x := 10
x++ // x 的值變成了 11
y := 5
y-- // y 的值變成了 4

賦值運算符

賦值運算符用來將一個值賦給一個變數。我們常見的賦值運算符有:

  • =:將右邊的值賦給左邊的變數。
  • +=:先將右邊的值加到左邊的變數上,然後再將結果賦給左邊的變數。
  • -=:先從左邊的變數中減去右邊的值,然後再將結果賦給左邊的變數。
  • *=:先將左邊的變數乘以右邊的值,然後再將結果賦給左邊的變數。
  • /=:先將左邊的變數除以右邊的值,然後再將結果賦給左邊的變數。
  • %=:先將左邊的變數除以右邊的值取餘數,然後再將結果賦給左邊的變數。

簡單範例如下:

a := 10
b := 5

a = 20 // a 的值變成了 20
a += b // 等同於 a = a + b,所以 a 的值變成了 25
a -= b // 等同於 a = a - b,所以 a 的值變成了 20
a *= b // 等同於 a = a * b,所以 a 的值變成了 100
a /= b // 等同於 a = a / b,所以 a 的值變成了 20
a %= b // 等同於 a = a % b,所以 a 的值變成了 0

比較運算符

比較運算符用來比較兩個值的大小或者是否相等。我們常用的比較運算符有:

  • ==:判斷兩個值是否相等。
  • !=:判斷兩個值是否不相等。
  • <:判斷左邊的值是否小於右邊的值。
  • >:判斷左邊的值是否大於右邊的值。
  • <=:判斷左邊的值是否小於等於右邊的值。
  • >=:判斷左邊的值是否大於等於右邊的值。

以下為使用範例:

x := 10
y := 5

isEqual := x == y // false,因為 x 不等於 y
isNotEqual := x != y // true,因為 x 不等於 y
isLess := x < y // false,因為 x 不小於 y
isGreater := x > y // true,因為 x 大於 y
isLessOrEqual := x <= y // false,因為 x 不小於等於 y
isGreaterOrEqual := x >= y // true,因為 x 大於等於 y

邏輯運算符

邏輯運算符用來執行邏輯操作。我們常用的邏輯運算符有:

  • &&:邏輯與,用來判斷多個條件是否同時滿足。
  • ||:邏輯或,用來判斷多個條件是否至少有一個滿足。
  • !:邏輯非,用來取反一個條件的結果。

以下為使用範例:

p := true
q := false

andResult := p && q // false,因為 p 和 q 不都為 true
orResult := p || q // true,因為 p 或 q 至少有一個為 true
notResult := !p // false,因為 p 為 true,取反後為 false

位運算符

位運算符用來在二進制位級別執行操作。我們常用的位運算符有:

  • &:按位與,對每一位進行與操作。
  • |:按位或,對每一位進行或操作。
  • ^:按位異或,對每一位進行異或操作。
  • <<:左移,將二進制位向左移動指定的位數。
  • >>:右移,將二進制位向右移動指定的位數。

以下為使用範例:

a := 5 // 二進制表示:0101
b := 3 // 二進制表示:0011

andResult := a & b // 二進制表示:0001,十進制表示:1
orResult := a | b // 二進制表示:0111,十進制表示:7
xorResult := a ^ b // 二進制表示:0110,十進制表示:6
leftShiftResult := a << 1 // 二進制表示:1010,十進制表示:10
rightShiftResult := a >> 1 // 二進制表示:0010,十進制表示:2

其他運算符

其他運算符用來執行一些特定的操作。我們常用的其他運算符有:

  • &:取地址,用來獲取變數的內存地址。
  • *:指針,用來聲明指針變數。
  • <-:通道操作符,用來發送和接收通道消息。

以下為使用範例:

var num int = 42
ptr := &num // ptr 現在包含 num 的內存地址

var value int = *ptr // value 現在包含 ptr 所指向的內存中的值
ch := make(chan int) // 創建一個整數通道
ch <- 10 // 將值 10 發送到通道 ch 中
receivedValue := <-ch // 從通道 ch 接收值並存儲在 receivedValue 中

注意事項

  • 在進行數學運算時,一定要注意數據類型是否匹配,避免因為類型轉換引起的問題。
  • 在使用邏輯運算符時,要確保清楚地理解各個條件的組合關係。

📚Reference

avatar-img
17會員
83內容數
golang
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Alan的開發者天地 的其他內容
👨‍💻簡介 Go 語言有各種資料型別,分為基本型別和複合型別。基本型別包括: 整數、浮點數、布林值、字串 複合型別包括: 陣列、片段、結構、函式、對映、通道、介面 等。 整數型別 整數型別有許多種,像是 int8、int16、int32、int64。我們可以依據實際需求選擇。
👨‍💻簡介 在 Golang 中,你可以使用不同的方式來宣告變數和常數。宣告變數時,可以直接指定值,或者使用型別推導,更簡單地用 := 來宣告局部變數。另外,還可以一次宣告多個變數,相同型別的變數可以一起宣告,或者使用括號宣告不同型別的變數。常數則使用 const 關鍵字宣告,確保值不變
👨‍💻簡介 在這篇文章裡,會簡單介紹幾個關鍵的基本概念和語法結構,加快上手這門程式語言。
👨‍💻如何在go中驗證SSL憑證 因之前玩過監控證書,最近在接觸golang因此來看看有甚麼方法能夠取得憑證到期日,最後發現有crypto/tls這個module可以用,驗證步驟簡單三步如下
👨‍💻簡介 Go 語言有各種資料型別,分為基本型別和複合型別。基本型別包括: 整數、浮點數、布林值、字串 複合型別包括: 陣列、片段、結構、函式、對映、通道、介面 等。 整數型別 整數型別有許多種,像是 int8、int16、int32、int64。我們可以依據實際需求選擇。
👨‍💻簡介 在 Golang 中,你可以使用不同的方式來宣告變數和常數。宣告變數時,可以直接指定值,或者使用型別推導,更簡單地用 := 來宣告局部變數。另外,還可以一次宣告多個變數,相同型別的變數可以一起宣告,或者使用括號宣告不同型別的變數。常數則使用 const 關鍵字宣告,確保值不變
👨‍💻簡介 在這篇文章裡,會簡單介紹幾個關鍵的基本概念和語法結構,加快上手這門程式語言。
👨‍💻如何在go中驗證SSL憑證 因之前玩過監控證書,最近在接觸golang因此來看看有甚麼方法能夠取得憑證到期日,最後發現有crypto/tls這個module可以用,驗證步驟簡單三步如下
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
一、基本算術運算符號 加法:+ 減法:- 乘法:* 除法:/(返回浮點數) a = 1 b = 2 print( a + b ) # 加法 輸出:3 print( a - b ) # 減法 輸出:-1 print( a * b ) # 乘法 輸出:2 print( a / b ) #
Thumbnail
本章節的目的是介紹Java中的運算符,包括算數運算符、比較運算符、賦值運算符、位元運算符以及運算符的優先等級。通過本章節,讀者可以了解到如何在Java中進行基本的數學運算、比較兩個值的大小、將值賦給變數、進行位元運算,以及在複雜表達式中如何正確地理解運算符的優先等級。
Thumbnail
本章節介紹了程式語言中的各種運算符,包括算數運算子、比較運算子、賦值運算子、位元運算子,以及運算子的優先等級。每種運算子都有對應的範例程式碼和輸出結果,以幫助讀者更好地理解其用法和效果。此外,章節也強調了運算子的優先等級在程式設計中的重要性,並通過範例展示了不同優先等級的運算順序對運算結果的影響。
Thumbnail
此章節旨在介紹TypeScript中的運算符,包括算數運算子、比較運算子、賦值運算子、位元運算子,以及他們的優先等級。每種運算子都以清晰的解釋和代碼範例進行詳細說明,幫助讀者理解並有效地在自己的程式碼中使用。
Thumbnail
了解這些運算子及其優先等級有助於更好地理解和編寫 JavaScript 代碼
Thumbnail
本文介紹了各種運算符的用法和優先級,包括算術運算符、比較運算符、賦值運算符、邏輯運算符、位元運算符、成員運算符和身份運算符。每種運算符都有詳細的描述和示例程式碼,幫助理解其功能和用法。
Thumbnail
電腦只做一件事情: 運算。 我們所看到的任何酷酷的應用: 不論是網頁動畫、遊戲特效、甚至是 AI 說的話,全部都 是由電腦的運算結果組合而成的。 首先我們來梳理一下各個名詞之間的關聯: 1. 運算分成兩個部分: 運算子 (運算的名稱,如: 加法) 和運算元 (運算的對象,如: 8)。運算就是對資
※ 常用number型態的運算方法: 加、減、乘、除 求餘數(mod):% ※ JavaScript 內建的 Math 物件提供了許多number相關的方法和常數。以下是一些常見的內建 Math 功能: Math.PI:算出圓的面積。 Math.ceil:無條件進位 Math.floor
※ JavaScript的五種運算子: 我們希望操控這些值,來達成我們想要的結果。 運算式由運算元和運算子組成。運算元是指我們要拿去做運算的東西是什麼?例如:5和4。運算子是他要做什麼樣子的運算?例如:"+"。 算術運算子:"+加"、"-減"、"*乘"、"/除"、"%(mod餘數概念)"。
Thumbnail
在Python中,數值運算非常直觀,你可以使用標準的數學運算符號進行基本的數值運算。以下是一些基本的數值運算: 進行計算時,按照「先乘除後加減」的規則,並優先計算小括號刮起來的運算式。 print('答案:' ,(1+1)*2) #​答案: 4 復合型態的運算子 指定運算子 = 若是結合算術
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
一、基本算術運算符號 加法:+ 減法:- 乘法:* 除法:/(返回浮點數) a = 1 b = 2 print( a + b ) # 加法 輸出:3 print( a - b ) # 減法 輸出:-1 print( a * b ) # 乘法 輸出:2 print( a / b ) #
Thumbnail
本章節的目的是介紹Java中的運算符,包括算數運算符、比較運算符、賦值運算符、位元運算符以及運算符的優先等級。通過本章節,讀者可以了解到如何在Java中進行基本的數學運算、比較兩個值的大小、將值賦給變數、進行位元運算,以及在複雜表達式中如何正確地理解運算符的優先等級。
Thumbnail
本章節介紹了程式語言中的各種運算符,包括算數運算子、比較運算子、賦值運算子、位元運算子,以及運算子的優先等級。每種運算子都有對應的範例程式碼和輸出結果,以幫助讀者更好地理解其用法和效果。此外,章節也強調了運算子的優先等級在程式設計中的重要性,並通過範例展示了不同優先等級的運算順序對運算結果的影響。
Thumbnail
此章節旨在介紹TypeScript中的運算符,包括算數運算子、比較運算子、賦值運算子、位元運算子,以及他們的優先等級。每種運算子都以清晰的解釋和代碼範例進行詳細說明,幫助讀者理解並有效地在自己的程式碼中使用。
Thumbnail
了解這些運算子及其優先等級有助於更好地理解和編寫 JavaScript 代碼
Thumbnail
本文介紹了各種運算符的用法和優先級,包括算術運算符、比較運算符、賦值運算符、邏輯運算符、位元運算符、成員運算符和身份運算符。每種運算符都有詳細的描述和示例程式碼,幫助理解其功能和用法。
Thumbnail
電腦只做一件事情: 運算。 我們所看到的任何酷酷的應用: 不論是網頁動畫、遊戲特效、甚至是 AI 說的話,全部都 是由電腦的運算結果組合而成的。 首先我們來梳理一下各個名詞之間的關聯: 1. 運算分成兩個部分: 運算子 (運算的名稱,如: 加法) 和運算元 (運算的對象,如: 8)。運算就是對資
※ 常用number型態的運算方法: 加、減、乘、除 求餘數(mod):% ※ JavaScript 內建的 Math 物件提供了許多number相關的方法和常數。以下是一些常見的內建 Math 功能: Math.PI:算出圓的面積。 Math.ceil:無條件進位 Math.floor
※ JavaScript的五種運算子: 我們希望操控這些值,來達成我們想要的結果。 運算式由運算元和運算子組成。運算元是指我們要拿去做運算的東西是什麼?例如:5和4。運算子是他要做什麼樣子的運算?例如:"+"。 算術運算子:"+加"、"-減"、"*乘"、"/除"、"%(mod餘數概念)"。
Thumbnail
在Python中,數值運算非常直觀,你可以使用標準的數學運算符號進行基本的數值運算。以下是一些基本的數值運算: 進行計算時,按照「先乘除後加減」的規則,並優先計算小括號刮起來的運算式。 print('答案:' ,(1+1)*2) #​答案: 4 復合型態的運算子 指定運算子 = 若是結合算術