Tipe Data
Golang memiliki basic type data:
- string : untuk data text.
- bool: untuk tipe data boolean true dan false.
- numeric: int8, uint8(byte), int16, uint16, int32, uint32, int64, uint64, int, uint, uintptr, float32, float64, complex64, complex128
Variable
Berikut format untuk mendeklarasikan variable.
var nama_variable type_variable
var nama_variable type_variable = expression
Anda bisa mendeklarasikan satu atau lebih variable sekaligus.
var a = "ini adalah string"
var b, c int = 1, 2
Jika type data tidak didefinisikan, compiler otomatis akan menetapkan type data.
var d = true
Jika variable dideklarasikan tanpa inisialisasi, maka compiler akan menggunakan zero-value. Contoh untuk int adalah 0. Nilai e adalah nol.
var e int
Tanda := adalah cara pendek mendeklarasikan dan inisialisasi variable, contoh var f string = “skillplus” akan sama dengan perintah dibawah.
f := "skillplus"
Constant
Pada dasarnya constant adalah seperti variable, namu nilainya tidak bisa diubah setelah proses inisialisasi. Syntax dasar constant:
const nama_constant type_data = value_assignment
Constant tidak bisa dideklarasikan menggunakan := syntax.
Untuk numeric constant tidak akan memiliki type data sampai didefinisikan, misalnya melalui explicit conversion
//konstan belum memiliki tipe data
const a = 100
//otomatis di assign menjadi int64
fmt.Println(int64(a))
Berikut contoh-contoh deklarasi constant yang valid:
const a string = 'Ini string'
const x, y, z = 1, 2, 3
Menggunakan iota pada deklarasi constant
iota adalah keyword untuk generator incremental integer value 0, 1, 2, ….
Contoh, membuat enum untuk weekday.
type weekday int
const (
minggu weekday = iota
senin
selasa
rabu
kamis
jumat
sabtu
)
package main import ( "fmt" ) func main() { type Weekday int const ( Minggu Weekday = iota Senin Selasa Rabu Kamis Jumat Sabtu ) fmt.Println(Minggu, Senin, Sabtu) }
package main import ( "fmt" ) func main() { type Weekday int const ( Minggu Weekday = iota Senin Selasa Rabu Kamis Jumat Sabtu ) fmt.Println(Minggu, Senin, Sabtu) }
nilai minggu = 0, senin = 1, hingga sabtu adalah 6.