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

Leave a Comment

What Not to Wear: A Guide to Professional Workplace Halloween Etiquette

What Not to Wear: A Guide to Professional Workplace Halloween Etiquette

Compare workplace Halloween costume choices by respect, dress code, mobility, and safety—and learn when a subtle accessory or a policy check is the better option.

Couples Costume Ideas for 2026: Iconic Pairs and Clever Tropes

Couples Costume Ideas for 2026: Iconic Pairs and Clever Tropes

Find a couples costume that fits your style, budget, and comfort level, from Addams Family classics to original inside-joke duos.

Last-Minute High School Halloween Costumes That Take 5 Minutes

Last-Minute High School Halloween Costumes That Take 5 Minutes

Need a last-minute high school Halloween costume? Compare 10 easy closet-based ideas by prep time, comfort, school-day practicality, and simple safety checks.

When to Start Decorating for Halloween in 2026

When to Start Decorating for Halloween in 2026

Use a simple 2026 Halloween decorating timeline for indoor décor, outdoor displays, and fresh pumpkins, with practical adjustments for weather and events.

5 Halloween Cocktails That Are Easy to Serve at Your 2026 Bash

5 Halloween Cocktails That Are Easy to Serve at Your 2026 Bash

Mix five vivid, approachable Halloween cocktails with measured recipes, simple prep tips, and an alcohol-free option for your party guests.

15 HR-Approved Office Halloween Costumes for 2026

15 HR-Approved Office Halloween Costumes for 2026

Find 15 office-friendly Halloween costume ideas for 2026, with practical checks for dress codes, respectful themes, comfort, and workplace safety.

Spooky but Sweet: Halloween Party Ideas for Elementary Schools

Spooky but Sweet: Halloween Party Ideas for Elementary Schools

Plan a fun elementary school Halloween party with easy crafts, games, inclusive treats, costume tips, and a sample 75-minute classroom schedule.

Side Hustles That Actually Pay in 2026: 7 Realistic Options and the Tradeoffs to Know

Side Hustles That Actually Pay in 2026: 7 Realistic Options and the Tradeoffs to Know

Compare realistic side hustles for 2026 by startup cost, fees, flexibility, and income control, with current tax and scam guidance from official sources.

Remote Work Ergonomics in 2026: Upgrade Your Home Office Without Overbuying

Remote Work Ergonomics in 2026: Upgrade Your Home Office Without Overbuying

Upgrade your home office ergonomics with current OSHA and NIOSH guidance on chair fit, monitor height, laptop setup, lighting, and movement.

Why Emotional Intelligence Matters in Leadership—and How to Build It

Why Emotional Intelligence Matters in Leadership—and How to Build It

Learn why emotional intelligence matters in leadership, where it helps most, how to strengthen it, and how to tell whether your approach is working.