Data types in Golang

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

Data types in Golang

  • Basic types: Numbers, strings and booleans
  • Aggregate types: Arrays and structures
  • Reference types: Pointer, slice, map, function and channel
  • Interface type

Here we will discuss the Basic Data Types in Go language. They are classified into three sub-categories:

  • Number
  • Boolean
  • Chain

Common data types in Golang

Numbers in Golang

In Go language, numbers are divided into three sub-categories:

Integers: In Go language, both signed and unsigned integers come in four different sizes as shown in the table below. Signed integers are represented by intand unsigned integers are represented by uint.

Possible arithmetic operations: Addition, subtraction, multiplication, division, remainder

Data type

Describe

int8 8-bit signed integer
int16 16-bit signed integer
int32 32-bit signed integer
int64 64-bit signed integer
uint8 8-bit unsigned integer
uint16 Unsigned Integer1 6-bit
uint32 32-bit unsigned integer
uint64 64-bit unsigned integer
int Both unsigned and signed are the same size, 32 or 64 bits
uint Both unsigned and signed are the same size, 32 or 64 bits
runes This is a synonym for int32 and also represents Unicode code points.
byte This is a synonym for uint8.
uintptr This is an unsigned integer type. Its width is undefined, but it can hold all the bits of a pointer value.

For example:

// Chương trình Go sử dụng số nguyên
package main 
import "fmt"
		
func main() {
	
	// Dùng 8-bit unsigned int 
	var X uint8 = 225
	fmt.Println(X, X-3)
	
	// Dùng 16-bit signed int 
	var Y int16 = 32767
	fmt.Println(Y+2, Y-2) 
}

Result:

225 222
-32767 32765

Arithmetic operations example:

// Các phép tính số học có thể có đối với số nguyên
// Tác giả : Chhanda Saha

package main

import "fmt"

func main() {

	var x int16 = 170
	var y int16 = 83
	//Cộng
	fmt.Printf(" addition : %d + %d = %d\n ", x, y, x+y)
	//Trừ
	fmt.Printf("subtraction : %d - %d = %d\n", x, y, x-y)
	//Nhân
	fmt.Printf(" multiplication : %d * %d = %d\n", x, y, x*y)
	//Chia
	fmt.Printf(" division : %d / %d = %d\n", x, y, x/y)
	//Mô đun
	fmt.Printf(" remainder : %d %% %d = %d\n", x, y, x%y)
}

Result:

Cộng :  170 + 83 = 253
Trừ : 170 - 83 = 87
Nhân : 170 * 83 = 14110
Chia : 170 / 83 = 2
Số dư : 170 % 83 = 4 
  • Floating Point Numbers: In Go language, floating point numbers are divided into two types as shown in the table below.
    • Arithmetic operations can be: Addition, subtraction, multiplication, division.
    • There are three fonts:
      • decimal (3.15)
      • power (12e18 or 3e10)
      • mixed (13.16e12)
Data type

Describe

float32 32-bit IEEE 754 floating point number
float64 64-bit IEEE 754 floating point number

For example:

//Minh họa chương trình Go dùng số dấu chấm động
package main 
import "fmt"
		
func main() {
	a := 20.45
	b := 34.89
	
	// Phép trừ hai số dấu chấm động
	c := b-a
	
	// Hiện kết quả
	fmt.Printf("Result is: %f", c)
	
	// Hiện kiểu biến C
	fmt.Printf("\nThe type of c is : %T", c) 
}

Result:

Kết quả: 14.440000
Kiểu của C là : float64

Example of arithmetic operations for floating point numbers:

// Các phép toán số học có thể có cho số thực
// Tác giả : Chhanda Saha
package main

import "fmt"

func main() {
	var x float32 = 5.00
	var y float32 = 2.25
	//Phép cộng
	fmt.Printf("addition : %g + %g = %g\n ", x, y, x+y)
	//Phép trừ
	fmt.Printf("subtraction : %g - %g = %g\n", x, y, x-y)
	//Phép nhân
	fmt.Printf("multiplication : %g * %g = %g\n", x, y, x*y)
	//Phép chia
	fmt.Printf("division : %g / %g = %g\n", x, y, x/y)

}

Result:

Phép cộng :  5 + 2.25 = 7.25
Phép trừ : 5 - 2.25 = 2.75
Phép nhân : 5 * 2.25 = 11.25
Phép chia : 5 / 2.25 = 2.2222223
  • Complex Numbers: Complex numbers are divided into two parts, shown in the table below. float32and float64also a part of these complex numbers. The built-in function creates a complex number from its imaginary part and real part and the built-in imaginary and real function extracts those parts.
    • There are several built-in functions in complex numbers:
      • complex – create complex number from two floats.
      • real() – gets the real part of the input complex number as a float.
      • imag() – get the imaginary part of the input complex number as a float
Data type

Describe

complex64 Complex numbers contain float32 as real and imaginary components.
complex128 Complex numbers contain float64 as real and imaginary components.

For example:

// Chương trình Go dùng số phức
package main
import "fmt"

func main() {
	
var a complex128 = complex(6, 2)
var b complex64 = complex(9, 2)
fmt.Println(a)
fmt.Println(b)
	
// Hiện kiểu
fmt.Printf("The type of a is %T and "+
			"the type of b is %T", a, b)
}

Result:

(6+2i)
(9+2i)
Kiểu của a là complex128, kiểu của b là complex64

Examples of built-in functions:

// Các hàm tích hợp là số phức
// Tác giả : Chhanda Saha
package main

import "fmt"

func main() {
	comp1 := complex(10, 11)
	// cú pháp init số phức
	comp2 := 13 + 33i
	fmt.Println("Complex number 1 is :", comp1)
	fmt.Println("Complex number 1 is :", comp2)
	// lấy phần real
	realNum := real(comp1)
	fmt.Println("Real part of complex number 1:", realNum)
	// lấy phần hình ảnh
	imaginary := imag(comp2)
	fmt.Println("Imaginary part of complex number 2:", imaginary)

}

Result:

Số phức 1 là: (10+11i)
Số phức 1 là: (13+33i)
Phần thực của số phức 1: 10
Phần ảo của số phức 2: 33

Boolean

The boolean data type represents only one bit of information that is either true or false. Values ​​of the boolean type cannot be implicitly or explicitly converted to any other type.

For example:

//Minh họa chương trình dùng boolean
package main
import "fmt"

func main() {
	
	// Các biến
str1 := "Quantrimang"
str2:= "quantrimang"
str3:= "Quantrimang"
result1:= str1 == str2
result2:= str1 == str3
	
// Hiện kết quả
fmt.Println( result1)
fmt.Println( result2)
	
// Hiện kiểu của result1 và result2
fmt.Printf("Kiểu của result1 là %T và "+
				"kiểu của result2 là %T",
							result1, result2)
	
}

Result:

false
true
Kiểu của result1 là bool và kiểu của result2 là bool

Chain

The string data type represents a sequence of Unicode code points. In other words, we can say that a string is an immutable sequence of bytes, meaning that once a string is created, you cannot change it. Strings can contain arbitrary data, including zero-value bytes in human-readable form. Strings can be concatenated using the addition operator (+).

For example:

// Chương trình Go dùng chuỗi
package main
import "fmt"

func main() {
	
	// Biến str chứa chuỗi
str := "Quantrimang"
	
// Hiện độ dài của chuỗi
fmt.Printf("Length of the string is:%d",
								len(str))
	
// Hiện chuỗi
fmt.Printf("\nString is: %s", str)
	
// Hiện kiểu biến str 
fmt.Printf("\nType of str is: %T", str)
}

Result:

Chiều dài của chuỗi là: 13
Chuỗi là: Quantrimang
Kiểu của chuỗi là: chuỗi

Example of string concatenation:

// Nối chuỗi
// Tác giả : Chhanda Saha
package main

import "fmt"

func main() {
	var str1 string = "STRING_"
	var str2 string = "Concatenation"

	// Nối chuỗi bằng toán tử + 
	fmt.Println("New string : ", str1+str2)

}

Result:

New string :  STRING_Concatenation
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.

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.

How to use operators in Golang

How to use operators in Golang

Operators allow us to perform different types of operations on operands. In Go language, operators can be classified based on their different functions.

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.