Golang Basic Data Type, Variable dan Constant

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.

Sharing is caring:

Leave a Comment