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

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.

Variable Scope in Go

Variable Scope in Go

The scope of a variable in Golang determines which part of the program the variable is accessible to. In Go, all identifiers have a lexical scope that is determined at compile time.

Play Together space, name the space Play Together

Play Together space, name the space Play Together

Many people use spaces in their Play Together names or use small underscores to create spaces between the letters you write in your name.

How to download Black Beacon PC

How to download Black Beacon PC

While it is entirely possible to experience Black Beacon on PC, the game is not officially optimized for this platform at this time.

Formula for calculating surface area and volume of sphere

Formula for calculating surface area and volume of sphere

The surface area of ​​a sphere is four times the area of ​​a large circle, which is four times the constant Pi multiplied by the square of the radius of the sphere.

Whats special about the spacesuit China chose for the first manned landing on the moon?

Whats special about the spacesuit China chose for the first manned landing on the moon?

China is aiming to send its first citizens to the Moon by 2030, and the country has just unveiled a newly designed spacesuit that will be used on the upcoming historic mission.

Foods that easily cause inflammation in the body

Foods that easily cause inflammation in the body

Many foods can cause inflammation and chronic disease. Here are the foods you should avoid consuming in large amounts if you don't want to bring disease into your body.

Instructions on how to play Zuka Lien Quan Mobile season S1 2023

Instructions on how to play Zuka Lien Quan Mobile season S1 2023

Zuka is an assassin known to be a terror to champions with low health. Learn how to use Zuka effectively in season 23.

Latest Heroic Era Code and how to redeem code

Latest Heroic Era Code and how to redeem code

Receiving gifts through Heroic Age giftcodes is what almost all new players do when joining the game.

8 Cheapest Cloud Storage Providers

8 Cheapest Cloud Storage Providers

Let’s take a look at the cheapest online cloud storage options available. We’ll look at prices both in absolute terms and per gigabyte (per month) so you can choose what’s best for you.

What is the pound sign error (####) in Excel?

What is the pound sign error (####) in Excel?

#### in Excel is a common Excel error and appears in many different cases when we enter data in Excel, functions in Excel, enter formulas in Excel.

12 Settings on Samsung Galaxy Phones You Should Change

12 Settings on Samsung Galaxy Phones You Should Change

Just bought a new Samsung Galaxy phone and need to configure it? Here are 10 settings you should change to make your Samsung phone run better.

Latest Murder Mystery 2 Codes and How to Enter

Latest Murder Mystery 2 Codes and How to Enter

Code Murder Mystery 2 helps players choose more knife skins for their characters or get more money to use for services and buy other things in the game.

28 beautiful birthday card designs with good wishes for parents, spouses, lovers, friends

28 beautiful birthday card designs with good wishes for parents, spouses, lovers, friends

On the birthday of your lover, parents, friends, siblings, colleagues... besides gifts, don't forget to send birthday cards with wishes.

Funny but sweet flirting riddles that will capture your crushs heart

Funny but sweet flirting riddles that will capture your crushs heart

These fun quizzes will help you make a strong impression and conquer your crush's heart quickly and happily.

Corki DTCL season 7: Build items, standard Corki Gunner squad

Corki DTCL season 7: Build items, standard Corki Gunner squad

Corki DTCL season 7 needs protection or support to cause control if he wants to be free to destroy the enemy team. At the same time, Corki's equipment must also be standard to be able to deal damage more effectively.

How to download Mini World Royale and instructions on how to play

How to download Mini World Royale and instructions on how to play

Here is the download link for Mini World Royale and instructions for playing, we will have two versions: Mini World Royale APK and Mini World Royale iOS.