Data Types in Go - GeeksforGeeks

07 Mar, 2022
Data types specify the type of data that a valid Go variable can hold. In Go language, the type is divided into four categories which are as follows:
Basic type: Numbers, strings, and booleans come under this category.Aggregate type: Array and structs come under this category.Reference type: Pointers, slices, maps, functions, and channels come under this category.Interface type
Basic type: Numbers, strings, and booleans come under this category.
Aggregate type: Array and structs come under this category.
Reference type: Pointers, slices, maps, functions, and channels come under this category.
Interface type
Here, we will discuss Basic Data Types in the Go language. The Basic Data Types are further categorized into three subcategories which are: 
Numbers
Booleans
Strings
In Go language, numbers are divided into three sub-categories that are:
Integers: In Go language, both signed and unsigned integers are available in four different sizes as shown in the below table. The signed int is represented by int and the unsigned integer is represented by uint.
Data Type
Description
Example:
Go
// Go program to illustrate// the use of integerspackage mainimport "fmt"        func main() {         // Using 8-bit unsigned int    var X uint8 = 225    fmt.Println(X, X-3)         // Using 16-bit signed int    var Y int16 = 32767    fmt.Println(Y+2, Y-2)}
Output: 
225 222
-32767 32765
Floating-Point Numbers: In Go language, floating-point numbers are divided into two categories as shown in the below table:
Description
Example:
Go
// Go program to illustrate// the use of floating-point// numberspackage mainimport "fmt"        func main() {    a := 20.45    b := 34.89         // Subtraction of two    // floating-point number    c := b-a         // Display the result    fmt.Printf("Result is: %f", c)         // Display the type of c variable    fmt.Printf("\nThe type of c is : %T", c) }
Output: 
Result is: 14.440000
The type of c is : float64
Complex Numbers: The complex numbers are divided into two parts are shown in the below table. float32 and float64 are also part of these complex numbers. The in-built function creates a complex number from its imaginary and real part and in-built imaginary and real function extract those parts.
Description
Example:
Go
// Go program to illustrate// the use of complex numberspackage mainimport "fmt" func main() {        var a complex128 = complex(6, 2)   var b complex64 = complex(9, 2)   fmt.Println(a)   fmt.Println(b)       // Display the type  fmt.Printf("The type of a is %T and "+            "the type of b is %T", a, b)}
Output: 
(6+2i)
(9+2i)
The type of a is complex128 and the type of b is complex64
The boolean data type represents only one bit of information either true or false. The values of type boolean are not converted implicitly or explicitly to any other type. 
Example: 
Go
// Go program to illustrate// the use of booleanspackage mainimport "fmt" func main() {         // variables   str1 := "GeeksforGeeks"   str2:= "geeksForgeeks"   str3:= "GeeksforGeeks"   result1:= str1 == str2   result2:= str1 == str3       // Display the result   fmt.Println( result1)   fmt.Println( result2)       // Display the type of   // result1 and result2   fmt.Printf("The type of result1 is %T and "+                   "the type of result2 is %T",                             result1, result2)    }
Output:
false
true
The type of result1 is bool and the type of result2 is bool
The string data type represents a sequence of Unicode code points. Or in other words, we can say a string is a sequence of immutable bytes, means once a string is created you cannot change that string. A string may contain arbitrary data, including bytes with zero value in the human-readable form.
Example: 
Go
// Go program to illustrate// the use of stringspackage mainimport "fmt" func main() {         // str variable which stores strings   str := "GeeksforGeeks"       // Display the length of the string   fmt.Printf("Length of the string is:%d",                                  len(str))       // Display the string   fmt.Printf("\nString is: %s", str)       // Display the type of str variable   fmt.Printf("\nType of str is: %T", str)}
Output: 
Length of the string is:13
String is: GeeksforGeeks
Type of str is: string
 
sudipghimire533
utkarshsinghskt
seanbecker15
Go-Basics
Golang
Go Language
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Different ways to concatenate two strings in Golang
time.Sleep() Function in Golang With Examples
Time Formatting in Golang
strings.Contains Function in Golang with Examples
strings.Replace() Function in Golang With Examples
fmt.Sprintf() Function in Golang With Examples
Golang Maps
How to convert a string in lower case in Golang?
How to compare times in Golang?
Inheritance in GoLang