如何在 Golang 中使用運算符

運算符是每種程式語言的基礎。因此,如果不使用運算符,Golang語言的功能是不完整的。運算符允許我們對操作數執行不同類型的操作。在 Go語言中,運算子可以根據其不同的功能進行分類

如何在 Golang 中使用運算符

算術運算符

Go 語言中使用這些運算子對運算元進行運算:

  • 加法:“+”將兩個操作數相加。例如:x+y。
  • 減法:“-”減去兩個操作數。例如:xy。
  • 乘法:「*」將兩個運算元相乘。例如:x*y。
  • 除法:「/」將第一個運算元除以第二個運算元。例如:x/y。
  • 餘數:'%' 運算子傳回第一個運算元除以第二個運算元後的餘數。例如:x%y。

 注意: -、+、!、&、*、<- 和 ^ 也稱為一元運算符,一元運算符的優先權更高。 ++ 和 — 運算子來自語句,它們不是表達式,因此它們位於運算子層次結構之外。

例如:

//Minh họa chương trình Go dùng toán tử số học
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// Phép cộng
result1:= p + q 
fmt.Printf("Result of p + q = %d", result1) 
	
// Phép trừ
result2:= p - q 
fmt.Printf("\nResult of p - q = %d", result2) 
	
// Phép nhân
result3:= p * q 
fmt.Printf("\nResult of p * q = %d", result3) 
	
// Division 
result4:= p / q 
fmt.Printf("\nResult of p / q = %d", result4) 
	
// Modulus 
result5:= p % q 
fmt.Printf("\nResult of p %% q = %d", result5) 
} 

結果:

Kết quả của p + q = 54
Kết quả của p - q = 14
Kết quả của p * q = 680
Kết quả của p / q = 1
Kết quả của p % q = 14

關係運算符

關係運算子用於比較兩個值。讓我們逐一看一下每個運算符:

  • 「==」(等於)運算子檢查兩個給定的運算元是否相等。如果相等,則傳回 true。否則,返回 false。例如,5==5 將傳回 true。
  • '!='(不等於)運算子檢查兩個給定的運算元是否相等。否則,傳回 true。否則,返回 false。這是“==”運算符的精確布林補碼。例如,5!=5 將傳回 false。
  • '>'(大於)運算子檢查第一個運算元是否大於第二個運算元。如果更大,則傳回 true。如果少於,則傳回 false。例如,6>5 將傳回 true。
  • '<'(小於)運算子檢查第一個運算元是否小於第二個運算元。如果較小,則傳回 true。如果不是,則傳回 false。例如,<5 將返回
  • '>='(大於等於)運算子檢查第一個運算元是否大於或等於第二個運算元。如果大於或等於,則傳回 true。如果小於或等於,則傳回 false。例如:5>=5 將傳回 true。
  • '<='(小於或等於)運算子檢查第一個運算元是否小於或等於第二個運算元。如果大於或等於,則傳回 true。如果小於或等於,則傳回 false。例如:<=5 也會返回

例如:

// Minh họa chương trình Go dùng toán tử quan hệ
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// ‘=='(Equal To) 
result1:= p == q 
fmt.Println(result1) 
	
// ‘!='(Not Equal To) 
result2:= p != q 
fmt.Println(result2) 
	
// ‘<‘(less than)="" result3:="p">< q="" fmt.println(result3)="" ‘="">'(Greater Than) 
result4:= p > q 
fmt.Println(result4) 
	
// ‘>='(Greater Than Equal To) 
result5:= p >= q 
fmt.Println(result5) 
	
// ‘<='(less than="" equal="" to)="" result6:="p"><= q="" fmt.println(result6)="" }="">

結果:

false
true
false
true
true
false

邏輯運算符

它們用於組合兩個或多個條件/約束或補充所考慮的初始條件的評估。

  • AND:當考慮的兩個條件都滿足時,「&&」運算子傳回 true。否則,返回 false。例如,當 a 和 b 都為真(即非零)時,a && b 傳回 true。
  • 或:運算子「||」當考慮的一個(或兩個)條件滿足時傳回 true。否則,返回 false。例如:a ||如果 a 或 b 為真(即非零),則 b 傳回 true。當然,當a和b都為真時,它會回傳true。
  • 邏輯非:'! '當考慮的條件不滿足時,運算子傳回 true。否則,返回 false。例如:如果 a 為假,即 a = 0,則 !a 傳回 true。

例如:

// Minh họa chương trình Go dùng toán tử logic
package main 
import "fmt"
func main() { 
	var p int = 23
	var q int = 60
		
	if(p!=q && p<=q){ fmt.println("true")="" }="" if(p!="q" ||=""><=q){ fmt.println("true")="" }="" if(!(p="=q)){" fmt.println("true")="" }="" }="">

結果:

True
True
True

位元運算符

Go語言中有6個位元運算符,它們在位元層級進行操作,或用於執行逐位運算。以下是位元運算子:

  • &(位元與):以兩個數字作為操作數,並對兩個數字的每一位執行「與」運算。只有當兩位均為 1 時,AND 的結果才為 1。
  • | (位元或):以兩個數字作為操作數,並對兩個數字的每一位執行或運算。若兩個位元中任一個為 1,則「或」的結果為 1。
  • ^(位元異或):以兩個數字作為操作數,並對兩個數字的每一位執行異或運算。如果兩位不同,則 XOR 的結果為 1。
  • <(左移):取兩個數字,將第一個操作數的位元左移,第二個操作數決定要移動的位數
  • >>(右移):取兩個數字,將第一個操作數的位元向右移動,第二個操作數決定要移動的位數。
  • &^(與非):這是一個明確的位元運算子。

例如:

// Minh họa chương trình Go dùng toán tử bitwise
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// & (bitwise AND) 
result1:= p & q 
fmt.Printf("Result of p & q = %d", result1) 
	
// | (bitwise OR) 
result2:= p | q 
fmt.Printf("\nResult of p | q = %d", result2) 
	
// ^ (bitwise XOR) 
result3:= p ^ q 
fmt.Printf("\nResult of p ^ q = %d", result3) 
	
// < (left="" shift)="" result4:="p">< 1="" fmt.printf("\nresult="" of="" p="">< 1="%d" ,"="" result4)="">> (right shift) 
result5:= p >> 1
fmt.Printf("\nResult of p >> 1 = %d", result5) 
	
// &^ (AND NOT) 
result6:= p &^ q 
fmt.Printf("\nResult of p &^ q = %d", result6) 
	
	
} 

結果:

Kết quả của p & q = 0
Kết quả của p | q = 54
Kết quả của p ^ q = 54
Kết quả của p < 1="68" kết="" quả="" của="" p="">> 1 = 17
Kết quả của p &^ q = 34

賦值運算符

賦值運算子用於為變數賦值。賦值運算子的左操作數是一個變量,賦值運算子的右操作數是一個值。右邊的值必須與左邊的變數具有相同的資料類型,否則編譯器將回傳錯誤。不同類型的賦值運算子如下所示:

  • 「=」(簡單賦值):這是最簡單的賦值運算子。此運算子用於將右邊的值賦給左邊的變數。
  • 「+=」(附加賦值):此運算子是運算子『+』和『=』的組合。這個運算子首先將左邊變數的目前值與右邊的值相加,然後將結果賦給左邊變數。
  • 「-=」(減號賦值):此運算子是運算子『-』和『=』的組合。此運算子首先從右側變數的值中減去左側變數的目前值,然後將結果賦給左側變數。
  • 「*=」(乘法賦值):此運算子是運算子『*』和『=』的組合。這個運算子首先將左邊變數的目前值乘以右邊的值,然後將結果賦給左邊變數。
  • 「/=」(除法賦值):此運算子是 '/' 和 '=' 運算子的組合。這個運算子先將左邊變數的目前值除以右邊的值,然後將結果賦給左邊變數。
  • 「%=」(餘數賦值):此運算子是『%』和『=』運算子的組合。此運算子首先根據右側的值取左側變數目前值的餘數,然後將結果賦給左側變數。
  • “&=”(位元與):此運算子是“&”和“=”運算子的組合。此運算子首先將左邊變數的目前值與右邊的值進行「位元與」運算,然後將結果賦給左邊變數。
  • “^=”(位元異或):此運算子是“^”和“=”運算符的組合。這個運算子首先將左邊變數的目前值與右邊變數的值進行“位元異或”,然後將結果賦給左邊變數。
  • 「|=」(位元或):此運算子是「|」的組合運算子和『=』。這個運算子首先將左邊變數的目前值與右邊變數的值進行“位元或”,然後將結果賦給左邊變數。
  • 「<=:此運算子是「<」和「=」運算子的組合。此運算子首先將左側變數的目前值「移動」右側的值,然後將結果賦給右側的變數。
  • “>>=”:此運算子是運算子“>>”和“=”的組合。此運算子首先將左邊變數的目前值與右邊的值進行「右移與」運算,然後將結果賦給左邊變數。

例如:

// Minh họa chương trình Go dùng toán tử gán
package main 
	
import "fmt"
	
func main() { 
var p int = 45
	var q int = 50
	
// “=”(Simple Assignment) 
p = q 
fmt.Println(p) 
	
// “+=”(Add Assignment) 
	p += q 
fmt.Println(p) 
	
//“-=”(Subtract Assignment) 
p-=q 
fmt.Println(p) 
	
// “*=”(Multiply Assignment) 
p*= q 
fmt.Println(p) 
	
// “/=”(Division Assignment) 
	p /= q 
fmt.Println(p) 
	
	// “%=”(Modulus Assignment) 
	p %= q 
fmt.Println(p) 
	
} 

結果:

50
100
50
2500
50
0

其他營運商

  • &:此運算子傳回變數的位址。
  • *:此運算子提供指向變數的指標。
  • <-:這個操作符的名稱是receive。它用於從
// Minh họa chương trình sử dụng toán tử khác
package main 
	
import "fmt"
	
func main() { 
a := 4
	
// Dùng địa chỉ của toán tử (&) toán tử trỏ gián tiếp (*)

b := &a 
fmt.Println(*b) 
*b = 7
fmt.Println(a) 
} 

結果:

4
7
Sign up and earn $1000 a day ⋙

Leave a Comment

如何在 Golang 中使用常數

如何在 Golang 中使用常數

Golang 中的 Constant 或 Const 是什麼?以下是關於在 Go 中使用常數需要了解的內容。

Golang 中的 Volatile 函數

Golang 中的 Volatile 函數

Go 中的可變函數可讓您向函數傳遞可變數量的參數。以下是您需要了解的有關 Golang 中的易失性函數的所有資訊。

Golang 中的命名回傳參數

Golang 中的命名回傳參數

在 Golang 中,命名回傳參數通常被稱為命名參數。 Golang 允許在函數簽章或定義中命名函數的傳回參數或結果。

Go 中的關鍵字

Go 中的關鍵字

關鍵字-關鍵字是語言中用於某些內在過程或代表某些預定義動作的字詞。以下是您需要了解的有關 Golang 中的關鍵字的知識。

Golang中的資料類型

Golang中的資料類型

資料類型指定有效的 Go 變數可以包含的資料類型。 Go語言中,類型分為以下四類:

Golang 中的函數參數

Golang 中的函數參數

Go 支援兩種主要的傳遞參數的方式:按值傳遞和按引用傳遞。 Go 預設使用按值傳遞。

Golang中傳回多個值的函數

Golang中傳回多個值的函數

在Go語言中,允許使用return語句從函數傳回多個值。換句話說,在函數中,一個return語句可以傳回多個值。

Go 中的 Switch 語句

Go 中的 Switch 語句

Golang 和大多數其他程式語言一樣,有 switch 語句。以下是如何在 Golang 中使用 switch 語句。

在 Golang 中使用選擇語句時需要了解的案例

在 Golang 中使用選擇語句時需要了解的案例

在本文中,我們將學習如何使用預設情況來避免死鎖。但首先,讓我們先了解一下使用 Golang select 指令時出現死鎖的情況是什麼?

Golang 中的匿名結構和字段

Golang 中的匿名結構和字段

Golang 中的匿名結構是沒有名稱的一次性臨時結構,而匿名欄位允許嵌入未命名的欄位。

如何在 Golang 中使用 Rune

如何在 Golang 中使用 Rune

Golang 中的 Runes 是什麼?如何在 Golang 中使用 Rune?文章會告訴你答案。

Golang 中的 Void 標識符

Golang 中的 Void 標識符

Golang 中的 _(底線)稱為空白標識符。標識符是程式組件的使用者定義名稱,用於識別目的。

如何用 Golang 創建基本程序

如何用 Golang 創建基本程序

你好世界!是任何程式語言中的第一個基本程式。您可以按照以下步驟使用 Golang 編寫第一個程式。

如何在 Windows 上安裝 Go

如何在 Windows 上安裝 Go

Golang 可以輕鬆安裝在 Windows 上。以下是在 Windows 上安裝 Golang 的詳細逐步指南。

普通電視和智慧電視的差別

普通電視和智慧電視的差別

智慧電視確實風靡全球。憑藉如此多的強大功能和互聯網連接,科技改變了我們觀看電視的方式。

為什麼冷凍室沒有燈,冷藏室有燈?

為什麼冷凍室沒有燈,冷藏室有燈?

冰箱是家庭中常見的家用電器。冰箱通常有 2 個隔間,冷藏室寬敞,並且每次使用者打開時都會自動亮燈,而冷凍室狹窄且沒有燈。

解決 Wi-Fi 速度變慢的網路擁塞問題的 2 種方法

解決 Wi-Fi 速度變慢的網路擁塞問題的 2 種方法

除了路由器、頻寬和乾擾之外,Wi-Fi 網路還受到許多因素的影響,但也有一些智慧的方法可以增強您的網路效能。

如何使用 Tenorshare Reiboot 將 iOS 17 降級到 iOS 16 且不遺失數據

如何使用 Tenorshare Reiboot 將 iOS 17 降級到 iOS 16 且不遺失數據

如果您想在手機上恢復穩定的 iOS 16,這裡是卸載 iOS 17 並從 iOS 17 降級到 16 的基本指南。

每天吃優​​格會對身體產生什麼影響?

每天吃優​​格會對身體產生什麼影響?

酸奶是一種美妙的食物。每天吃優​​格好嗎?每天吃酸奶,你的身體會發生怎樣的變化?讓我們一起來了解一下吧!

哪種米最有益於健康?

哪種米最有益於健康?

本文討論了最有營養的米種類以及如何最大限度地發揮所選米的健康益處。

如何早上準時起床

如何早上準時起床

制定睡眠時間表和就寢習慣、更改鬧鐘以及調整飲食都是可以幫助您睡得更好、早上準時起床的一些措施。

玩 Rent Please! 的提示新手模擬房東

玩 Rent Please! 的提示新手模擬房東

請租用! Landlord Sim 是一款適用於 iOS 和 Android 的模擬手機遊戲。您將扮演一個公寓大樓的房東,開始出租公寓,目標是升級公寓的內部並為租戶做好準備。

最新浴室塔防代碼及代碼輸入方法

最新浴室塔防代碼及代碼輸入方法

取得浴室塔防 Roblox 遊戲代碼並兌換令人興奮的獎勵。它們將幫助您升級或解鎖具有更高傷害的塔。

變壓器的結構、符號和工作原理

變壓器的結構、符號和工作原理

讓我們以最準確的方式了解變壓器的結構、符號和運作原理。

人工智慧讓智慧電視更上一層樓的四種方式

人工智慧讓智慧電視更上一層樓的四種方式

從更好的影像和聲音品質到語音控制等等,這些人工智慧功能讓智慧電視變得更好!

為什麼 ChatGPT 比 DeepSeek 更好

為什麼 ChatGPT 比 DeepSeek 更好

最初,人們對DeepSeek寄予厚望。作為 ChatGPT 強勁競爭對手的 AI 聊天機器人,它承諾提供智慧聊天功能和體驗。

認識 Fireflies.ai:免費的 AI 秘書,幫你節省大量工作時間

認識 Fireflies.ai:免費的 AI 秘書,幫你節省大量工作時間

在記下其他重要事項時很容易錯過重要細節,而在聊天時記筆記可能會分散注意力。 Fireflies.ai 就是解決方案。

如何飼養 Minecraft 中的美西蠑螈,馴服 Minecraft 中的蠑螈

如何飼養 Minecraft 中的美西蠑螈,馴服 Minecraft 中的蠑螈

如果玩家知道如何使用 Axolot Minecraft,它將成為玩家在水下操作時的絕佳助手。

《噤界:前路》PC遊戲配置

《噤界:前路》PC遊戲配置

《寂靜之地:前路》的配置評價相當高,因此您需要在決定下載之前考慮其配置。