Seperti pada umumnya, Golang juga memiliki tipe data number yang dapat kita gunakan untuk menyimpan data numeric. Secara garis besar terdapat dua tipe data number di Golang yaitu Integer dan Floating Point.
Tipe Data Integer
Terdapat banyak tipe data integer di Golang, masing-masing tipe data tersebut menggunakan range memori yang berbeda. Semakin besar ukurannya, maka akan menggunakan memori yang besar pula. Tipe data integer di Golang dibagi menjadi dua yaitu Signed Integer dan Unsigned Integer.
Signed Integer
Tipe data signed integer dapat diisi nilai negatif hingga nilai positif. Misal kita ingin menyimpan hasil pengurangan yang kemungkinan menghasilkan nilai negatif, maka kita menggunakan signed integer. Perhatikan tabel berikut:
Tipe Data | Nilai Minimal | Nilai Maksimal |
---|---|---|
int8 | -128 | 127 |
int16 | -32768 | 32767 |
int32 | -2147483648 | 2147483647 |
int64 | -9223372036854775808 | 9223372036854775807 |
Unsigned Integer
Berbeda dengan signed integer, tipe data unsigned integer tidak bisa kamu isi dengan nilai negatif karena nilai minimal yang bisa ditampung adalah 0. Tipe data unsigned integer memiliki prefix u pada nama tipe datanya. Perhatikan tabel berikut:
Tipe Data | Nilai Minimal | Nilai Maksimal |
---|---|---|
uint8 | 0 | 255 |
uint16 | 0 | 65535 |
uint32 | 0 | 2494967295 |
uint64 | 0 | 18446744073709551615 |
Ketika mendeklarasikan variabel dengan tipe data integer, nama tipe data harus ditulis sama persis seperti tabel di atas karena case sensitive. int8
tidak bisa ditulis dengan Int8
atau INT8
.
Tipe Data Floating Point
Tipe data floating point adalah tipe data yang bisa diisi dengan nilai desimal (nilai yang ada komanya). Terdapat beberapa tipe data floating point di Golang, perhatikan tabel berikut:
Tipe Data | Nilai Minimal | Nilai Maksimal |
---|---|---|
float32 | 1.18 x 10^-38 | 3.4 x 10^38 |
float64 | 2.23 x 10^-308 | 1.80 x 10^308 |
complex64 | complex numbers with float32 real and imaginary parts | |
complex128 | complex numbers with float64 real and imaginary parts |
pada tabel di atas terdapat tipe data complex64
dan complex128
. Tipe data ini biasanya digunakan untuk perhitungan matematika yang sangat presisi. Pada perhitungan biasa kamu sudah cukup untuk menggunakan float32
atau float46
.
Alias
Di golang, terdapat alias untuk tipe data number. Alias adalah nama lain untuk suatu tipe data. Alias berfungsi untuk menyederhanakan penulisan tipe data. Perhatikan tabel berikut:
Nama Alias | Untuk Tipe Data |
---|---|
byte | uint8 |
rune | int32 |
int | Minimal int32 |
uint | Minimal uint32 |
Sebagai contoh, ketika kamu menuliskan tipe data byte
sebenarnya kamu menggunakan tipe data uint8
.
Ketika kamu menuliskan tipe data int
maka kamu akan menggunakan tipe data yang sesuai dengan sistem operasi komputer kamu. Misalnya, jika sistem operasi kamu 32 bit maka akan menggunakan int32
, jika sistem operasi kamu 64 bit maka akan menggunakan int64
. Begitu pula untuk tipe data uint
.
Contoh Program
package main
import "fmt"
func main() {
fmt.Println(21) // integer
fmt.Println(21.5) // floating point
}
output:
21
21.5
Berikutnya: #5: Tipe Data Boolean & String - Belajar Golang Dari Dasar