Dalam tutorial ini, kita akan mempelajari cara pemrograman Go dari awal. Nanti, kita akan:

  • Memasang Go (jika belum pernah).

  • Menulis kode "Hello, World!" sederhana.

  • Menggunakan perintah go untuk menjalankan kode.

  • Menggunakan perkakas pencarian paket Go untuk menemukan paket yang dapat digunakan dalam kode kita.

  • Memanggil fungsi pada modul eksternal.

Note
Untuk tutorial lainnya, lihat Tutorial.

Kebutuhan

  • Pengalaman memprogram kode. Kode yang dicontohkan di sini cukup sederhana, namun akan lebih membantu bila pembaca paham tentang fungsi pada pemrograman.

  • Alat untuk menyunting kode. Penyunting teks apa pun dapat digunakan. Kebanyakan penyunting teks memiliki dukungan untuk Go. Yang paling terkenal yaitu VSCode (gratis), GoLand (berbayar), dan Vim (gratis).

  • Terminal. Go bekerja dengan baik menggunakan terminal apa pun di Linux dan Mac, dan PowerShell atau cmd di Windows.

Memasang Go

Lihat langkah-langkahnya pada halaman Unduh dan pasang.

Menulis kode

Mari kita menulis sebuah program yang mencetak "Hello, World!".

  1. Buka terminal dan cd ke direktori home Anda.

    Di Linux atau Mac:

    cd

    Di Windows:

    cd %HOMEPATH%
  2. Buat direktori hello untuk menyimpan sumber kode Go yang akan kita buat.

    Sebagai contohnya, gunakan perintah berikut:

    mkdir hello
    cd hello
  3. Aktif kan pelacakan dependensi pada kode kita.

    Saat kode mengimpor paket dari modul lain, Go mengatur dependensi tersebut lewat modul. Sebuah modul didefinisikan oleh berkas bernama go.mod yang melacak modul-modul apa saja yang digunakan. Berkas go.mod tersebut disimpan bersama dengan kode, dimasukkan dalam repositori sumber kode.

    Untuk mengaktifkan pelacakan dependensi pada kode, dengan membuat sebuah berkas go.mod, jalankan perintah go mod init dengan memberikan parameter nama dari modul untuk contoh kode kita sekarang. Nama tersebut berupa path dari modul. Umumnya, ia berupa lokasi repositori di mana sumber kode disimpan, seperti github.com/<user>/mymodule. Jika kita ingin menerbitkan modul supaya dapat digunakan oleh orang lain, maka path dari modul harus berupa lokasi yang dapat diunduh oleh perkakas Go.

    Dalam tutorial ini, kita akan menggunakan example.com/hello sebagai contoh saja.

    $ go mod init example.com/hello
    go: creating new go.mod: module example.com/hello
  4. Dalam direktori "hello", buat sebuah berkas hello.go

  5. Salin kode berikut ke dalam berkas hello.go dan simpan.

    package main
    
    import "fmt"
    
    func main() {
    	fmt.Println("Hello, World!")
    }

    Ini adalah kode Go. Dalam kode ini, kita:

    • Mendeklarasikan paket main (sebuah paket yaitu cara untuk mengelompokan fungsi-fungsi, dan ia berisi kumpulan berkas-berkas dalam direktori yang sama).

    • Meng-impor paket fmt, yang berisi fungsi-fungsi untuk memformat teks, termasuk pencetakan ke layar. Paket ini adalah salah satu paket pada pustaka standar yang tersedia saat memasang Go.

    • Mengimplementasikan fungsi main untuk mencetak sebuah pesan ke layar. Fungsi main dieksekusi secara bawaan saat kita menjalankan paket main.

  6. Jalankan kode tersebut untuk melihat pesan di layar.

    $ go run .
    Hello, World!

    Perintah go run adalah salah satu dari banyak perintah go yang akan kita gunakan untuk bekerja dengan Go. Untuk melihat daftar perintah lainnya:

    $ go help

Memanggil kode dalam paket eksternal

Saat kode Go butuh melakukan sesuatu yang telah diimplementasikan oleh orang lain, kita dapat mencari paket yang memiliki fungsi tersebut, yang dapat kita gunakan dalam kode.

Berikut cara menggunakan fungsi orang lain, dengan mengubah contoh kode "Hello, World!" untuk memanggil fungsi eksternal, dari modul orang lain.

  1. Buat pesan yang dicetak sedikit lebih menarik lewat sebuah fungsi dari modul eksternal.

    1. Kunjungi pkg.go.dev dan cari paket quote.

    2. Cari dan klik paket rsc.io dalam hasil pencarian sebelumnya (jika menemukan rsc.io/quote/v3, indahkan saja dahulu).

    3. Dalam bagian Documentation, di bawah Index, terdapat daftar fungsi yang dapat kita panggil dalam kode. Yang akan kita panggil dan gunakan dalam kode kita yaitu fungsi Go.

    4. Pada bagian atas halaman, perhatikan bahwa paket "quote" berada dalam modul "rsc.io/quote".

    Kita dapat menggunakan situs pkg.go.dev untuk mencari modul-modul yang diterbitkan dan dibagi oleh orang lain, yang mana paket-paketnya memiliki fungsi yang dapat kita gunakan dalam kode. Kumpulan paket diterbitkan dalam sebuah modul — seperti "rsc.io/quote" — yang dapat digunakan oleh orang lain. Modul-modul dikembangkan terus menerus lewat versi baru, dan kita dapat meningkatkan kode kita supaya menggunakan versi yang terbaru.

  2. Dalam contoh kode kita sebelumnya, impor lah paket "rsc.io/quote" dan ganti string "Hello, World!" dengan pemanggilan ke fungsi Go.

    Bentuk kode akan seperti berikut,

    package main
    
    import "fmt"
    
    import "rsc.io/quote"
    
    func main() {
    	fmt.Println(quote.Go())
    }
  3. Tambahkan dependensi pada modul dan hasil sum-nya.

    Go akan menambahkan modul "quote" sebagai dependensi, berikut dengan berkas "go.sum" untuk digunakan dalam autentikasi modul. Untuk informasi lebih lanjut, lihat Autentikasi modul dalam Referensi Modul Go.

    $ go mod tidy
    go: finding module for package rsc.io/quote
    go: found rsc.io/quote in rsc.io/quote v1.5.2
  4. Jalankan kembali kode untuk melihat pesan yang dibangkitkan oleh pemanggilan fungsi Go.

    $ go run .
    Don't communicate by sharing memory, share memory by communicating.

    Perhatikan sekarang, kode memanggil fungsi Go, mencetak sebuah pesan pribahasa tentang komunikasi.

    Saat kita menjalankan "go mod tidy", ia mencari dan mengunduh modul "rsc.io.quote" yang berisi paket yang kita impor. Secara bawaan, Go akan mengunduh versi yang paling terbaru — v1.5.2.

Tutorial lebih lanjut

Lewat pengenalan singkat ini, kita telah memasang Go dan mempelajari beberapa dasar-dasarnya. Untuk melanjutkan menulis kode dengan tutorial lain, lihatlah Membuat modul Go.