How to use operators in Golang

Operators are the foundation of every programming language. Therefore, the functionality of Golang language is incomplete without the use of operators. Operators allow us to perform different types of operations on operands. In Go language, operators can be classified based on their different functions .

How to use operators in Golang

Arithmetic operators

These operators are used to perform operations on operands in Go language:

  • Addition: '+' adds two operands. Example: x+y.
  • Subtraction: '-' subtracts two operands. Example: xy.
  • Multiplication: '*' multiplies two operands. Example: x*y.
  • Division: '/' divides the first operand by the second operand. For example: x/y.
  • Remainder: The '%' operator returns the remainder when the first operand is divided by the second operand. For example: x%y.

 Note: -, +, !, &, *, <- and ^ are also called unary operators and the precedence of unary operators is higher. The ++ and — operators come from statements, they are not expressions, so they lie outside the operator hierarchy.

For example:

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

Result:

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

Relational Operators

Relational operators are used to compare two values. Let's look at each operator one by one:

  • The '=='(Equals) operator checks whether the two given operands are equal or not. If they are equal, it returns true. Otherwise, it returns false. For example, 5==5 will return true.
  • The '!='(Not equal to) operator checks whether the two given operands are equal or not. If not, it returns true. Otherwise, it returns false. This is the exact boolean complement of the '==' operator. For example, 5!=5 will return false.
  • The '>'(Greater than) operator checks whether the first operand is greater than the second operand. If greater, it returns true. If less, it returns false. For example, 6>5 will return true.
  • The '<'(less than) operator checks whether the first operand is less than the second operand. If it is less, it returns true. If not, it returns false. For example, <5 will return
  • '>='(Greater than equal)operator checks whether the first operand is greater than or equal to the second operand. If greater than or equal, it returns true. If less than or equal, it returns false. For example: 5>=5 will return true.
  • The '<='(less than or equal to) operator checks if the first operand is less than or equal to the second operand. If it is greater than or equal, it returns true. If it is less than or equal, it returns false. For example: <=5 will also return

For example:

// 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)="" }="">

Result:

false
true
false
true
true
false

Logical operators

They are used to combine two or more conditions/constraints or to supplement the evaluation of the initial condition under consideration.

  • AND: The '&&' operator returns true when both the conditions under consideration are satisfied. Otherwise, it returns false. For example, a && b returns true when both a and b are true (i.e. non-zero).
  • OR: The '||' operator returns true if one (or both) of the conditions under consideration are satisfied. Otherwise, it returns false. For example, a || b returns true if either a or b is true (i.e. non-zero). Of course, it returns true when both a and b are true.
  • Logical NOT: The '!' operator returns true when the condition under consideration is not satisfied. Otherwise, it returns false. For example, !a returns true if a is false, i.e. when a = 0.

For example:

// 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")="" }="" }="">

Result:

True
True
True

Bitwise operators

In Go language, there are 6 bitwise operators that operate on bit level or are used to perform bit-by-bit operations. Following are the bitwise operators:

  • & (bitwise AND): Takes two numbers as operands and performs AND on every bit of the two numbers. The result of AND is 1 only if both bits are 1.
  • | (bitwise OR): Takes two numbers as operands and performs OR on every bit of the two numbers. The result of OR is 1 if any of the two bits is 1.
  • ^ (bitwise XOR): Takes two numbers as operands and performs XOR on all bits of the two numbers. The result of XOR is 1 if the two bits are different.
  • < (shift left): takes two numbers, shifts the bits of the first operand left, the second operand determines the number of positions to shift
  • >> (shift right): Take two numbers, shift the bits of the first operand right, the second operand determines the number of positions to shift.
  • &^ (AND NOT): This is an explicit bitwise operator.

For example:

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

Result:

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

Assignment Operator

Assignment operators are used to assign a value to a variable. The left operand of an assignment operator is a variable and the right operand of an assignment operator is a value. The value on the right must have the same data type as the variable on the left, otherwise the compiler will report an error. The different types of assignment operators are shown below:

  • “=”(Simple assignment): This is the simplest assignment operator. This operator is used to assign the value on the right to the variable on the left.
  • “+=”(Additional Assignment): This operator is a combination of the '+' and '=' operators. This operator first adds the current value of the left variable to the value on the right, and then assigns the result to the left variable.
  • “-=”(Subtraction Assignment): This operator is a combination of the '-' and '=' operators. This operator first subtracts the current value of the left variable from the value on the right, and then assigns the result to the left variable.
  • “*=”(Multiplication Assignment): This operator is a combination of the '*' and '=' operators. This operator first multiplies the current value of the left variable by the value on the right, and then assigns the result to the left variable.
  • “/=”(Division assignment): This operator is a combination of the '/' and '=' operators. This operator first divides the current value of the left variable by the value on the right, and then assigns the result to the left variable.
  • “%=”(Assignment with remainder division): This operator is a combination of the '%' and '=' operators. This operator first takes the remainder of the current value of the left variable to the value on the right, and then assigns the result to the left variable.
  • “&=”(Bitwise AND assignment): This operator is a combination of the '&' and '=' operators. This operator first “bitwise ANDs” the current value of the left variable to the value on the right, and then assigns the result to the left variable.
  • “^=”(Bitwise Exclusive OR): This operator is a combination of the '^' and '=' operators. This operator first “Bitwise Exclusive OR” the current value of the left variable by the value on the right and then assigns the result to the left variable.
  • “|=”(Bitwise Inclusive OR): This operator is a combination of the '|' and '=' operators. This operator first “Bitwise Inclusive OR” the current value of the left variable by the value of the right and then assigns the result to the left variable.
  • “<=: This operator is a combination of the < ' and '="' operators." This operator first “shifts” the current value of the variable on the left by the value on the right and then assigns the result to the variable on the right.
  • “>>=”: This operator is a combination of the '>>' and '=' operators. This operator first “Right Shift ANDs” the current value of the left variable by the value on the right, and then assigns the result to the left variable.

For example:

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

Result:

50
100
50
2500
50
0

Other operators

  • &: This operator returns the address of a variable.
  • *: This operator provides a pointer to a variable.
  • <-: The name of this operator is receive. It is used to receive a value from
// 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) 
} 

Result:

4
7
Sign up and earn $1000 a day ⋙

Leave a Comment

Named return parameters in Golang

Named return parameters in Golang

In Golang, named return parameters are often referred to as named parameters. Golang allows naming the return parameters or results of functions in the function signature or definition.

Keywords in Go

Keywords in Go

Keyword - Keywords are words in a language that are used for some internal processes or represent some predefined actions. Here is what you need to know about keywords in Golang.

Data types in Golang

Data types in Golang

Data types specify what type of data a valid Go variable can hold. In the Go language, types are divided into four categories as follows:

Function arguments in Golang

Function arguments in Golang

Go supports two main ways to pass arguments: Pass by Value and Pass by Reference. Go uses pass by value by default.

Function returning multiple values ​​in Golang

Function returning multiple values ​​in Golang

In Go language, you are allowed to return multiple values ​​from a function, using the return statement. In other words, in a function, a return statement can return multiple values.

Switch Statement in Go

Switch Statement in Go

Golang like most other programming languages ​​has switch statement. Here is how to use switch statement in Golang.

Cases to know when using selection statements in Golang

Cases to know when using selection statements in Golang

In this article, we will learn how to use default case to avoid deadlock. But first, we will learn what is deadlock case when using select command in Golang?

Anonymous structures and fields in Golang

Anonymous structures and fields in Golang

Anonymous structs in Golang are temporary structures with no names used for one-time purposes, while anonymous fields allow embedding of unnamed fields.

How to use Rune in Golang

How to use Rune in Golang

What is Rune in Golang? How to use Rune in Golang? This article will give you the answer.

Void identifier in Golang

Void identifier in Golang

_(underscore) in Golang is called Blank Identifier. Identifier is a user-defined name of program elements used for identification purposes.

How to create basic program in Golang

How to create basic program in Golang

Hello, World! is the first basic program in any programming language. You can write this first program in Golang by following the steps below.

How to Install Go on Windows

How to Install Go on Windows

Golang can be easily installed on Windows. Here is a step-by-step guide to install Golang on Windows.

Methods with the same name in Golang

Methods with the same name in Golang

Golang allows creating two or more methods with the same name in the same package, but the receivers of these methods must be of different types.

Functions in Go

Functions in Go

In Go, functions are blocks of code that perform specific tasks, which can be reused throughout the program to save memory, improve readability, and save time.

7 ChatGPT and AI Apps for Free Travel Planning

7 ChatGPT and AI Apps for Free Travel Planning

These free travel planning apps use AI and Machine Learning tools like ChatGPT to prepare your itinerary in seconds.

How to use Gemini from Google Chrome address bar

How to use Gemini from Google Chrome address bar

Google is integrating AI features into the Google Chrome browser, most recently using Gemini from the Google Chrome address bar.

4 Ways to Change User Account Type in Windows

4 Ways to Change User Account Type in Windows

In addition to creating multiple users, Windows 10 also lets you limit what others can do on a shared PC, by providing multiple types of accounts, namely standard user accounts and admin accounts.

10 useful shortcuts to increase productivity on Microsoft Edge

10 useful shortcuts to increase productivity on Microsoft Edge

Keyboard shortcuts are a great productivity tool, especially for those whose jobs involve a lot of typing.

Serious bug forces Google to pause AI feature that creates images with text

Serious bug forces Google to pause AI feature that creates images with text

Google has announced that it is suspending the feature of generating images of people from text of its Gemini AI model due to a serious historical error.

How to Use Copilot in PowerPoint

How to Use Copilot in PowerPoint

Copilot will help you add creative ideas to your PowerPoint content slides, or fix the bad content in your presentation slides.

How to delete Google Gemini conversation

How to delete Google Gemini conversation

Instead of deleting your entire Google Gemini history, you can choose to delete the conversations you want. This article will guide you through deleting your Google Gemini conversations.

How to Downgrade from iOS 16 Beta 1 to iOS 15

How to Downgrade from iOS 16 Beta 1 to iOS 15

In this article, WebTech360 will guide you how to downgrade from iOS 16 Beta to iOS 15.

How to fix #SPILL! error in Microsoft Excel

How to fix #SPILL! error in Microsoft Excel

The #SPILL! error in Excel is quite common and it is quite simple to fix. Here is how to fix the #SPILL! error easily in Excel.

The best apps to monitor children using phones

The best apps to monitor children using phones

Here's a list of the best parental control apps, to help you compare the different options available.

How to pin media controls to Chromebook Shelf

How to pin media controls to Chromebook Shelf

To use this feature, your Chromebook must be running Chrome OS 89 or later.

How to Stop Sharing Safari Web History Across Multiple Devices

How to Stop Sharing Safari Web History Across Multiple Devices

Safari browser shares web history with other Apple devices that share the same iCloud account. Many people concerned about privacy can refer to the article to stop sharing.

How to Resize Images Properly in Photoshop

How to Resize Images Properly in Photoshop

Many people used to find resizing images very annoying until they learned about Photoshop's simple channel-based protection method.

How to avoid the most common Valentines Day scams

How to avoid the most common Valentines Day scams

Valentine's Day is prime time for scammers. However, you can ensure your February 14th goes smoothly by avoiding these scams.

The cost of replacing the screen of the Galaxy S25 series will be cheaper than the Galaxy S24

The cost of replacing the screen of the Galaxy S25 series will be cheaper than the Galaxy S24

Samsung launched the Galaxy S25 Ultra with Corning Gorilla Armor 2 glass, which is said to be more resistant to drops than the Armor glass on the S24 Ultra. But that's not all: replacement parts for repairing the screen are also significantly cheaper than previous generations.