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:

go
package main

import "fmt"

func main() {
	fmt.Println("Halo, Go!")
}

Output yang Dihasilkan:

text
Halo, Go!

Mari kita telaah baris demi baris program di atas:

  1. Baris 1 (package main): mendeklarasikan bahwa berkas ini termasuk package main, penanda program yang dapat dieksekusi.
  2. Baris 3 (import "fmt"): mengimpor package fmt dari standard library sehingga seluruh fungsinya dapat dipanggil.
  3. Baris 5 (func main()): mendefinisikan fungsi main, titik masuk yang dijalankan runtime ketika program dimulai.
  4. Baris 6 (fmt.Println("Halo, Go!")): memanggil fungsi Println dengan 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:

go
fmt.Println("Selamat", "belajar", "pemrograman")

Output yang Dihasilkan:

text
Selamat belajar pemrograman

Perhatikan 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:

FungsiSpasi antar argumenTanda baris baruKapan dipakai
fmt.PrintlnYaYaCetak cepat tanpa format khusus
fmt.PrintHanya antar operand stringTidakCetak berantai tanpa memotong baris
fmt.PrintfTidakTidakCetak 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:

go
fmt.Printf("Nama: %s, Umur: %d tahun\n", "Budi", 25)

Output yang Dihasilkan:

text
Nama: Budi, Umur: 25 tahun

Ketika 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:

bash
go run contoh.go

Output yang Dihasilkan:

text
Halo, Go!
Selamat belajar pemrograman
Tanpa baris baru, keduanya satu baris.
Nama: Budi, Umur: 25 tahun

Baris 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 #

Berkas Sumber

Berkas pendukung halaman ini dapat diunduh dan dijalankan langsung sesuai penjelasan di atas.

contoh.go

Unduh berkas
go
package 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)
}