Materi
Ada dua cara membuat variabel. var stok int membuat variabel bertipe int; karena tidak diberi nilai, isinya nilai nol tipenya: 0 untuk angka, teks kosong untuk string, dan false untuk bool. Go tidak punya variabel yang belum terisi, jadi tidak ada nilai acak atau undefined. Cara kedua, stok := 25, membuat variabel sekaligus mengisinya, dan tipenya disimpulkan dari nilai di kanan, di sini int.
:= hanya boleh dipakai di dalam fungsi. Di tingkat paket, di luar fungsi, setiap baris harus diawali kata kunci seperti var, const, func, atau type, sehingga kota := "Medan" di sana ditolak dengan syntax error. := juga wajib membuat sedikitnya satu variabel baru di sisi kirinya. Menulis harga := 6000 untuk kedua kalinya di blok yang sama ditolak dengan pesan no new variables on left side of :=. Untuk mengganti isi variabel yang sudah ada, pakai = biasa: harga = 6000.
package main
import "fmt"
const maksPeserta = 30
var kota = "Medan" // di luar fungsi: pakai var, bukan :=
func main() {
var hadir int // nilai nol: 0
peserta := 24 // tipe int disimpulkan
peserta = 26 // mengganti isi: = biasa
hadir = peserta - 2
fmt.Println(kota, hadir, maksPeserta-peserta) // Medan 24 4
}const membuat nilai tetap yang ditentukan saat kompilasi dan tidak bisa diganti, misalnya const maksPeserta = 30.