Variabel dan tipe data
Simpan nilai dengan var dan :=, dan kenali tipe dasarnya.
Pahami konsepnya
Ada dua cara membuat variabel: var nama string = "Ari" menuliskan tipenya secara eksplisit, sedangkan nama := "Ari" meminta Go menyimpulkan tipenya dari nilai di sebelah kanan. Bentuk pendek := hanya boleh dipakai di dalam fungsi; setelah dibuat, nilainya diperbarui dengan tanda = biasa.
Satu pernyataan bisa membuat beberapa variabel sekaligus: var a, b int atau a, b := 1, 2. Tipe dasar yang paling sering dipakai: string, int (dan kerabatnya int8–int64, uint), float64 untuk desimal, bool, rune untuk satu karakter Unicode, dan byte untuk satu byte. string sebenarnya potongan byte yang tidak bisa diubah isinya — operasi "mengubah" string selalu menghasilkan string baru.
Go ketat soal kebersihan kode: variabel yang dideklarasikan lalu tidak pernah dipakai membuat kompilasi gagal, dan variabel yang belum diisi otomatis berisi nilai nol tipenya — "" untuk string, 0 untuk angka, false untuk bool. Tanda _ menjadi penampung bila suatu hasil memang tidak ingin disimpan.
Coba contoh kode
package main
import "fmt"
func main() {
var nama string = "Ari"
umur := 17
var aktif bool
fmt.Println(nama, umur, aktif)
}Tipe umur disimpulkan sebagai int tanpa perlu ditulis. Karena aktif dideklarasikan tanpa nilai awal, ia memegang false — nilai nol untuk bool. Koma pada Println otomatis menyisipkan spasi antar nilainya, sehingga keluaran tetap rapi tanpa perangkai string manual.
Penukaran nilai tanpa variabel bantu
func main() {
x, y := 1, 2
x, y = y, x
fmt.Println(x, y) // 2 1
}Semua nilai di sisi kanan dihitung lebih dulu sebelum ditugaskan, jadi x, y = y, x menukar keduanya tanpa perlu variabel perantara — trik khas penugasan ganda di Go.
Membuat pointer dengan new
func main() {
nama := new(string)
*nama = "Ari"
fmt.Println(*nama) // Ari
fmt.Println(nama) // 0xc000010250 (alamat memori)
}new(T) mengalokasikan memori bertipe T berisi nilai nol, lalu mengembalikan pointernya. Kamu jarang membutuhkannya secara langsung — &variabel lebih umum — tetapi memahami new membantu membaca kode yang memakai pointer secara eksplisit.
Latihan singkat
Uji: isi kota dan tambah umur satu tahun — program harus mencetak persis `Ari 18 Bandung`.