2. Variabel, Tipe & Fungsi
Variabel
Section titled “Variabel”var nama string = "Kopi Susu" // lengkapvar harga = 18000 // tipe ditebak dari nilainya: intjumlah := 3 // singkatan, hanya di dalam fungsiconst pajak = 0.11 // konstanta: tidak bisa diubah:= adalah cara yang paling sering kamu lihat: deklarasi dan isi sekaligus.
Tipe data dasar
Section titled “Tipe data dasar”| Tipe | Contoh | Catatan |
|---|---|---|
int |
42, -7 |
bilangan bulat |
float64 |
3.14, 0.1 |
bilangan desimal |
string |
"halo" |
teks, pakai tanda kutip dua |
bool |
true, false |
benar/salah |
Variabel yang belum diisi punya nilai nol: 0, "", atau false.
Konversi tipe
Section titled “Konversi tipe”Go tidak pernah mengubah tipe diam-diam. int dikali float64 itu error — kamu harus mengonversi sendiri:
total := 54000 // intdiskon := 0.1 // float64bayar := float64(total) * (1 - diskon)Fungsi
Section titled “Fungsi”func total(harga int, jumlah int) int { return harga * jumlah}Tipe parameter ditulis setelah namanya, dan tipe hasil setelah kurung. Fungsi bisa mengembalikan lebih dari satu nilai — ini dipakai untuk error di bab 5:
func bagiSisa(a, b int) (int, int) { return a / b, a % b}
hasil, sisa := bagiSisa(17, 5) // 3, 2Mencetak dengan format
Section titled “Mencetak dengan format”| Fungsi | Hasil |
|---|---|
fmt.Println("Total:", 54000) |
Total: 54000 (argumen dipisah spasi) |
fmt.Printf("Bayar: %.0f\n", 48600.0) |
Bayar: 48600 |
fmt.Sprintf("%s x%d", "kopi", 3) |
mengembalikan string kopi x3 |
Kode format yang paling sering dipakai: %d bilangan bulat, %s string, %f desimal (%.2f = 2 angka di belakang koma), %v nilai apa saja, %T tipe nilai. Printf tidak menambah baris baru — tulis \n sendiri.
go fmt
Section titled “go fmt”Jangan pusing soal spasi dan indentasi. go fmt merapikan semua file .go di folder ke format standar Go:
go fmtDi lab ini sudah ada program kasir kopi yang belum selesai. Buka dengan nano main.go, perbaiki, lalu jalankan.
- Masuk ke folder
belanjadan bacamain.go.Petunjuk
cd belanja && cat main.go - Jalankan
go run .— programnya gagal di-compile. Baca pesannya.Petunjuk
go run . → perhatikan baris "declared and not used". - Perbaiki errornya: hapus
diskon, atau pakai difmt.Println. Lalugo run .lagi.Petunjuk
nano main.go → hapus baris diskon := 0.1 (atau cetak nilainya), simpan, lalu go run . - Lengkapi fungsi
totalagar mengembalikanharga * jumlah. Output harusTotal: 54000.Petunjuk
Ganti return 0 menjadi return harga * jumlah - Cetak harga setelah diskon 10% dengan
fmt.Printf:Bayar: 48600.Petunjuk
Kembalikan diskon := 0.1, lalu: fmt.Printf("Bayar: %.0f\n", float64(total(harga, jumlah))*(1-diskon)) - Rapikan format kodenya dengan
go fmt.Petunjuk
go fmt (atau gofmt -w main.go)

