Program yang paling sederhana sekalipun biasanya perlu menyampaikan sesuatu kepada pengguna: hasil perhitungan, pesan sapaan, atau status proses. Package fmt adalah alat standar Go untuk membaca dan menulis teks terformat, dan fmt.Println adalah pintu masuk yang paling sering dipakai. Pada chapter ini kita akan membedah perilaku fmt.Println, membandingkannya dengan fmt.Print dan fmt.Printf, lalu mempraktikkan semuanya dalam satu program utuh.
Menggunakan fmt.Println #
Fungsi fmt.Println menerima sejumlah argumen bertipe apa pun, mengubah setiap argumen menjadi teks, menambahkan satu spasi di antara argumen, lalu menutup baris dengan tanda baris baru. Berikut bentuk pemakaian paling sederhana:
package main
import "fmt"
func main() {
fmt.Println("Halo, Go!")
}Output yang Dihasilkan:
Halo, Go!Mari kita telaah baris demi baris program di atas:
- Baris 1 (
package main): mendeklarasikan bahwa berkas ini termasuk packagemain, penanda program yang dapat dieksekusi. - Baris 3 (
import "fmt"): mengimpor packagefmtdari standard library sehingga seluruh fungsinya dapat dipanggil. - Baris 5 (
func main()): mendefinisikan fungsimain, titik masuk yang dijalankan runtime ketika program dimulai. - Baris 6 (
fmt.Println("Halo, Go!")): memanggil fungsiPrintlndengan satu argumen string, lalu mencetak teks tersebut ke standard output diikuti tanda baris baru.
Menerima Banyak Argumen #
fmt.Println tidak terbatas pada satu argumen. Ketika diberi beberapa argumen, fungsi ini mencetak masing-masing argumen secara berurutan dan menyisipkan satu spasi antar argumen secara otomatis:
fmt.Println("Selamat", "belajar", "pemrograman")Output yang Dihasilkan:
Selamat belajar pemrogramanPerhatikan bahwa spasi antar kata dihasilkan oleh fmt.Println itu sendiri, bukan dari argumen yang kita kirim. Perilaku ini disebut operand spacing dan menjadi ciri khas keluarga fungsi Println.
Println, Print, dan Printf #
Package fmt menyediakan tiga fungsi cetak dasar dengan perilaku yang berbeda. Tabel berikut merangkum perbedaan ketiganya:
| Fungsi | Spasi antar argumen | Tanda baris baru | Kapan dipakai |
|---|---|---|---|
fmt.Println | Ya | Ya | Cetak cepat tanpa format khusus |
fmt.Print | Hanya antar operand string | Tidak | Cetak berantai tanpa memotong baris |
fmt.Printf | Tidak | Tidak | Cetak dengan pola format dan placeholder |
fmt.Printf membaca format verb seperti %s untuk string dan %d untuk bilangan bulat. Verb ini akan kita bahas tuntas pada chapter Package fmt
; saat ini kita cukup memakai dua verb paling dasar:
fmt.Printf("Nama: %s, Umur: %d tahun\n", "Budi", 25)Output yang Dihasilkan:
Nama: Budi, Umur: 25 tahunKetika memakai fmt.Printf, urutan argumen harus mengikuti urutan verb pada pola format. Tanda \n di akhir pola menambahkan baris baru secara manual karena fmt.Printf tidak menambahkannya sendiri.
Program Utuh #
Berkas contoh.go pada bagian bawah halaman menggabungkan seluruh contoh di atas dalam satu program yang dapat dijalankan langsung. Jalankan berkas tersebut dengan perintah berikut dari direktori chapter:
go run contoh.goOutput yang Dihasilkan:
Halo, Go!
Selamat belajar pemrograman
Tanpa baris baru, keduanya satu baris.
Nama: Budi, Umur: 25 tahunBaris ketiga pada output di atas membuktikan bahwa fmt.Print melanjutkan pencetakan pada baris yang sama sampai pola \n ditemui. Dengan menguasai ketiga fungsi ini, kita sudah siap menjalankan dan mengompilasi program Go pada chapter berikutnya.
Referensi #
- Dokumentasi package fmt — referensi resmi seluruh fungsi cetak dan verb format.
- Tutorial: Get started with Go
— tutorial resmi yang juga memakai
fmt.Println.
Berkas Sumber
Berkas pendukung halaman ini dapat diunduh dan dijalankan langsung sesuai penjelasan di atas.
contoh.go
Unduh berkaspackage main
import "fmt"
func main() {
fmt.Println("Halo, Go!")
fmt.Println("Selamat", "belajar", "pemrograman")
fmt.Print("Tanpa baris baru, ")
fmt.Print("keduanya satu baris.\n")
fmt.Printf("Nama: %s, Umur: %d tahun\n", "Budi", 25)
}