skip to content
abdulghofurme

Golang bagian-2 Primitif Data Type

/ 2 min read

Tipe Data Primitif

Go memiliki beberapa tipe data primitif, string, boolean dan numerik

String

Ditandai dengan "" (tanda petik dua) atau backtick ( ` ). Perbedaanya pada backtick, semua yang ada di dalamnya bersifat tidak escape

var anak string = "satu"
tempatLahir := `Lahir
di \n
"Pati".`

fmt.Printf("%s \n", anak)
fmt.Println(tempatLahir)

Boolean

Hanya mempunya 2 nilai, true atau false.

var isOpen bool = true

fmt.Println(isOpen)
fmt.Printf("open? %t \n", isOpen)

Numerik

Memilik 2 jenis

  • Non-Desimal
  • Desimal

Numerik Non-Desimal

Secara umum memiliki 2 tipe:

  • uint , bilangan positif
  • int , negatif dan positif

dengan default int bila tidak menuliskannya

uint
tipe datacakupan
uint80 -> 255
uint160 -> 65535
uint320 -> 4294967295
uint640 -> 18446744073709551615
uintuint32 atau uint64
byteuint8
int
tipe datacakupan
int8-128 -> 127
int16-32768 -> 32767
int32-2147483648 -> 2147483647
int64-9223372036854775808 -> 9223372036854775807
intint32 atau int64
runeint32

Pemilihan tipe data berpengaruh pada alokasi memori

var varSatu uint8 = 22
var varDua int = -12
var varTiga = 22
var varEmpat = -12
varLima := 22
varEnam := -12

fmt.Printf("varSatu: %d, tipe: %T\n", varSatu, varSatu)
fmt.Printf("varDua: %d, tipe: %T\n", varDua, varDua)
fmt.Printf("varTiga: %d, tipe: %T\n", varTiga, varTiga)
fmt.Printf("varEmpat: %d, tipe: %T\n", varEmpat, varEmpat)
fmt.Printf("varLima: %d, tipe: %T\n", varLima, varLima)
fmt.Printf("varEnam: %d, tipe: %T\n", varEnam, varEnam)

Numerik Desimal

Memiliki 2 tipe

  • float32
  • float54

dengan default float64 bila tidak menuliskannya

var decimalSatu float32 = 3.14
var decimalDua = 3.14
decimalTiga := 3.14

fmt.Printf("decimalSatu: %f, tipe: %T\n", decimalSatu, decimalSatu)
fmt.Printf("decimalDua: %f, tipe: %T\n", decimalDua, decimalDua)
fmt.Printf("decimalTiga: %f, tipe: %T\n", decimalTiga, decimalTiga)

fmt.Printf("decimalTiga: %.3f, tipe: %T\n", decimalTiga, decimalTiga)

akan mengeluarkan 6 digit di belakang koma secara default, gunakan .nf dengan n sebagai jumlah digit yang diinginkan

NB: zero value / default value

Semua tipe data di atas memiliki default value sebagai berikut

tipedefault value
string"" string kosong
booleanfalse
non-desimal0
desimal0.0
Yang dimaksud default value adalah ketika kita medeklarasi tanpa inisialisasi
var name string
var age uint
var isOpen bool