Variabel, Konstanta, dan Tipe Data Dasar di Go

 

Kalau kamu baru mulai belajar bahasa Go (Golang), ada satu hal penting yang wajib banget kamu kuasai sebelum ngoding lebih jauh: variabel, konstanta, dan tipe data.
Ibarat belajar memasak, ini seperti mengenal bahan dasar sebelum kamu mulai bikin resep rahasia ala master chef.

Nah, di artikel ini kita akan bahas semua itu dengan cara yang santai, lucu, dan jelas.
Jadi, siapkan kopi, buka Visual Studio Code (atau GoLand kalau kamu anak sultan), dan mari kita mulai perjalanan menjadi Gopher sejati!

 

Apa Itu Variabel?

Bayangkan kamu sedang masak. Kamu butuh wadah buat menampung bahan misalnya mangkuk untuk telur, panci untuk air, dan toples untuk gula.
Nah, di dunia Go, variabel itu seperti wadah yang bisa kamu isi dengan nilai tertentu.

Contohnya:

var nama string = "John"
var umur int = 25
var aktif bool = true

Penjelasan:

  • var → kata kunci untuk mendeklarasikan variabel.

  • nama, umur, aktif → nama variabelnya.

  • string, int, bool → tipe data dari variabel.

  • "Alucard", 25, true → nilainya.

 

Penulisan Singkat Variabel

Go juga punya cara cepat buat bikin variabel tanpa menulis var dan tipe data:

nama := "John"
umur := 25
aktif := true

Tanda := disebut short variable declaration.
Go akan otomatis tahu tipe datanya dari nilai yang kamu isi (ini disebut type inference).
Jadi:

  • "John" → string

  • 25 → int

  • true → bool

Kalau di dunia nyata, ini kayak Go bilang:

“Santai aja, bro. Gue udah tahu itu angka, nggak usah kasih tahu lagi.” 

 

Aturan Penamaan Variabel di Go

Sebelum kamu terlalu semangat bikin variabel, ada beberapa aturan penting:

  1. Nama variabel harus dimulai dengan huruf atau underscore (_), bukan angka.
    1data
    data1

  2. Gunakan camelCase untuk variabel biasa.
    Contoh: namaLengkap, jumlahBarang, isLogin.

  3. Kalau huruf pertama kapital, variabelnya bisa diakses dari package lain (disebut exported variable).

    • Nama → bisa diakses dari luar.

    • nama → hanya bisa diakses di file yang sama.

  4. Nama variabel harus deskriptif.
    Jangan pakai nama x, y, z kecuali memang itu koordinat.
    Misalnya umur jauh lebih jelas daripada a.

     

Apa Itu Konstanta?

Kalau variabel bisa berubah, maka konstanta (constant) adalah kebalikannya.
Nilainya tidak bisa diubah setelah ditetapkan.

Contoh:

const phi = 3.14159
const namaApp = "GoMaster"

Kalau kamu coba ubah:

phi = 3.15

Maka Go akan marah dan berkata:

“Bro, itu konstanta! Jangan diubah, ya.” 

 

Ciri-Ciri Konstanta

  • Dideklarasikan pakai kata kunci const.

  • Nilainya harus sudah bisa diketahui saat compile time.

  • Tidak bisa diubah di runtime.

 

Contoh Menarik

Kamu bisa mendefinisikan banyak konstanta sekaligus:

const (
    Senin = 1
    Selasa = 2
    Rabu = 3
)

Atau lebih ringkas lagi dengan fitur iota:

const (
    Senin = iota
    Selasa
    Rabu
)

iota akan otomatis menaikkan nilai mulai dari 0:

  • Senin = 0

  • Selasa = 1

  • Rabu = 2

Keren kan? Ini kayak penghitung otomatis yang disediakan gratis oleh Go 

 

Tipe Data Dasar di Go

Nah, sekarang kita masuk ke bagian inti: tipe data.

Tipe data itu seperti label di wadah makanan biar Go tahu isi variabelmu itu apa.
Kalau kamu salah isi, bisa berantakan semua.

a. Integer (int)

Tipe int digunakan untuk menyimpan bilangan bulat (tanpa koma).

Contoh:

var jumlah int = 42

Tapi Go punya banyak versi int, tergantung ukuran bit:

  • int8 → -128 sampai 127

  • int16 → -32,768 sampai 32,767

  • int32 → -2,147,483,648 sampai 2,147,483,647

  • int64 → versi besar banget

  • int → otomatis menyesuaikan sistem (32-bit atau 64-bit)

Selain itu ada juga unsigned integer (uint) untuk bilangan positif saja:

  • uint8, uint16, uint32, uint64, uint

Contoh:

var umur uint8 = 25

 Fun fact:

Kalau kamu bikin operasi antara int dan float, Go bakal marah.
Karena Go sangat ketat soal tipe data, nggak ada “auto convert” kayak di JavaScript.

b. Float (Bilangan Pecahan)

Kalau kamu butuh angka dengan koma, pakai tipe float.

Contoh:

var suhu float32 = 36.5
var berat float64 = 70.25

Perbedaan float32 dan float64 cuma di presisi:

  • float32 lebih ringan, tapi kurang presisi.

  • float64 lebih akurat, cocok buat perhitungan ilmiah.

Kalau kamu cuma pakai untuk hal sederhana (kayak harga atau suhu), float32 cukup.
Tapi kalau kamu bikin aplikasi keuangan atau data sains, pakai float64.

c. String (Teks)

string adalah kumpulan karakter, biasanya ditulis dengan tanda kutip ganda " ".

Contoh:

var pesan string = "Halo, dunia!"

Kamu bisa gabungkan string pakai tanda +:

fmt.Println("Nama saya " + nama)

Atau multi-line string pakai backtick (`):

quote := `Belajar Go itu
nggak sesulit yang kamu bayangkan,
asal sabar dan banyak ngopi.`

String di Go itu immutable, artinya tidak bisa diubah sebagian.
Kalau kamu mau ubah, kamu harus buat string baru.
Mirip kayak mantan, kalau udah jadi string, ya nggak bisa “diedit”.

d. Boolean (bool)

Tipe bool cuma punya dua nilai: true atau false.

Contoh:

var aktif bool = true

Biasanya dipakai buat logika kondisi:

if aktif {
    fmt.Println("Akun aktif!")
} else {
    fmt.Println("Akun nonaktif!")
}

Boolean itu sederhana tapi sangat penting. Hampir semua control flow di Go (seperti if, for, switch) butuh nilai boolean.

 

Konversi Tipe Data

Kadang kamu butuh ubah tipe data, misalnya dari int ke float.
Di Go, caranya harus eksplisit (tidak otomatis seperti Python).

Contoh:

var x int = 10
var y float64 = float64(x)

Atau sebaliknya:

var z int = int(y)

Kalau kamu coba langsung tambahkan int + float, hasilnya error:

var a int = 10
var b float64 = 2.5
fmt.Println(a + b) // ❌ Error!

Go akan bilang: “Tolong konversi dulu, ya. Saya nggak mau nebak-nebak.”

 

Deklarasi Banyak Variabel Sekaligus

Kamu bisa mendeklarasikan beberapa variabel dalam satu baris:

var nama, kota string = "John", "Jakarta"

Atau lebih rapi dengan blok:

var (
    nama  = "John"
    umur  = 25
    aktif = true
)

Dan ini juga bisa dengan :=

nama, umur := "John", 25

Praktis banget kalau kamu butuh banyak data sekaligus!

 

Perbedaan var, const, dan :=

Fitur Bisa diubah? Wajib tipe data? Contoh
var ✅ Ya ❌ Tidak wajib (Go bisa infer) var umur = 25
const ❌ Tidak ✅ Wajib nilai tetap const pi = 3.14
:= ✅ Ya (untuk lokal) ❌ Tidak nama := "John"

Singkatnya: kalau nilainya tetap, pakai const; kalau fleksibel, pakai var atau :=.

 

Contoh Program Lengkap

Mari lihat semuanya dalam contoh sederhana:

package main

import "fmt"

func main() {
    const phi = 3.14
    var jariJari int = 7
    luas := phi * float64(jariJari*jariJari)

    var nama string = "Lingkaran Ajaib"
    aktif := true

    fmt.Println("Nama:", nama)
    fmt.Println("Aktif:", aktif)
    fmt.Println("Luas:", luas)
}

Output:

Nama: Lingkaran Ajaib
Aktif: true
Luas: 153.86

Kamu bisa lihat di sini:

  • Ada kombinasi var, const, dan :=.

  • Ada konversi int → float64.

  • Ada operasi matematika dan string.
    Semuanya berjalan mulus. Inilah dasar kekuatan Go.

     

Kesimpulan

Oke, sekarang kamu sudah tahu:

  • Variabel itu wadah untuk nilai yang bisa berubah.

  • Konstanta itu nilai tetap yang tidak bisa diutak-atik.

  • Tipe data dasar di Go meliputi:

    • int → angka bulat

    • float → angka pecahan

    • string → teks

    • bool → logika benar/salah

Dan yang paling penting:

Go itu ketat, tapi adil.
Kalau kamu main jujur dengan tipe data, dia akan bekerja dengan cepat dan efisien. 


0 Comments:

Posting Komentar