Operator & Format Output dengan fmt
Operator aritmatika, perbandingan, logika, dan Printf.
Operator aritmatika
| Operator | Arti | Contoh |
|---|---|---|
| --- | --- | --- |
+ - * | tambah, kurang, kali | 3 + 2 → 5 |
/ | bagi (int dibulatkan ke bawah) | 7 / 2 → 3 |
% | sisa bagi | 7 % 2 → 1 |
++ -- | tambah / kurang 1 | i++ |
+= -= *= | operasi lalu simpan | x += 5 |
++ dan -- di Go adalah pernyataan, bukan ekspresi: tulis i++, bukan y = i++.
Operator perbandingan
==, !=, <, >, <=, >= menghasilkan bool. Kedua sisi harus bertipe sama.
Operator logika
&& (dan), || (atau), ! (bukan).
umur := 20
fmt.Println(umur >= 17 && umur < 60) // true
Operator bit
&, |, ^, <<, >> dipakai untuk manipulasi bit. 1 << 3 bernilai 8.
Printf: mencetak dengan format
fmt.Printf menerima string format dengan verb yang diisi argumen berurutan.
| Verb | Untuk | Contoh hasil |
|---|---|---|
| --- | --- | --- |
%s | string | Sari |
%d | integer | 42 |
%f | desimal | 3.141593 |
%.2f | desimal 2 angka belakang koma | 3.14 |
%t | bool | true |
%v | nilai apa pun | bentuk bawaan |
%+v | struct dengan nama field | {Nama:Sari} |
%T | tipe | float64 |
%q | string dengan kutip | "Go" |
%5d | lebar 5, rata kanan | 42 |
%-8s | lebar 8, rata kiri | Go |
Printf tidak otomatis pindah baris. Tambahkan \n di akhir.
fmt.Printf("%s berumur %d tahun\n", "Sari", 21)
Sprintf: hasilnya menjadi string
pesan := fmt.Sprintf("Total: Rp%.0f", 15000.0)
Sprintf tidak mencetak; ia mengembalikan string untuk dipakai lagi.