diff options
Diffstat (limited to 'content/basics.article')
| -rw-r--r-- | content/basics.article | 69 |
1 files changed, 45 insertions, 24 deletions
diff --git a/content/basics.article b/content/basics.article index b6a2e40..44f6bfb 100644 --- a/content/basics.article +++ b/content/basics.article @@ -4,23 +4,25 @@ Belajar komponen dasar dari program Go. Para Penggubah Go https://golang.org -* Paket +* Paket ("package") Setiap program Go terbuat dari paket-paket (`package`). Program mulai berjalan dalam paket `main`. -Program ini menggunakan paket dengan meng- `import` `"fmt"` dan `"math/rand"`. +Program di sebelah menggunakan paket lain dengan meng- `import` `"fmt"` dan +`"math/rand"`. Aturannya, nama paket sama dengan elemen terakhir dari path `import`. -Sebagai contohnya, paket `"math/rand"` terdiri dari berkas-berkas yang dimulai dengan perintah `package`rand`. +Sebagai contohnya, paket `"math/rand"` terdiri dari berkas-berkas yang dimulai +dengan perintah `package`rand`. #appengine: *Catatan:* Lingkungan di mana program di situs ini berjalan adalah #appengine: deterministik, sehingga setiap kali anda mengeksekusi contoh #appengine: program `rand.Intn` akan selalu mengembalikan angka yang sama. #appengine: #appengine: (Untuk mendapatkan angka yang acak, tambahkan pembangkit angka; -#appengine: lihat +#appengine: lihat fungsi #appengine: [[https://golang.org/pkg/math/rand/#Seed][`rand.Seed`]] #appengine: .) @@ -28,7 +30,8 @@ Sebagai contohnya, paket `"math/rand"` terdiri dari berkas-berkas yang dimulai d * Import -Kode ini mengelompokan `import` di dalam tanda kurung, atau disebut juga perintah `import` yang "difaktorkan". +Kode ini mengelompokan `import` di dalam tanda kurung, atau disebut juga +perintah `import` yang "difaktorkan". Anda juga bisa menulis perintah `import`, seperti: @@ -41,7 +44,7 @@ Tapi lebih disarankan untuk menggunakan perintah `import` yang difaktorkan. * Nama-nama yang diekspor -Pada Go, sebuah nama diekspor jika ia diawali dengan huruf besar. +Pada bahasa Go, sebuah nama diekspor jika diawali dengan huruf besar. Sebagai contohnya, `Pizza` itu nama yang diekspor, sebagaimana juga `Pi`, yang diekspor dari paket `math`. @@ -72,7 +75,8 @@ Perhatikan bahwa tipe berada _setelah_ nama variabel. * Fungsi lanjutan -Saat dua atau lebih parameter fungsi memiliki tipe yang sama, anda bisa menghilangkan semua tipe kecuali yang terakhir. +Saat dua atau lebih parameter fungsi memiliki tipe yang sama, anda bisa +menggabungkannya menjadi satu. Pada contoh ini, kita singkat @@ -84,7 +88,7 @@ menjadi .play basics/functions-continued.go -* Banyak Kembalian +* Banyak kembalian Sebuah fungsi dapat mengeluarkan banyak kembalian. @@ -94,7 +98,7 @@ Fungsi `swap` mengembalikan dua `string`. * Kembalian bernama -Nilai kembalian pada Go bisa dinamakan. +Nilai kembalian pada Go bisa diberi nama. Jika nilai kembalian memiliki nama, mereka diperlakukan seperti variabel yang didefinisikan pada fungsi. @@ -113,25 +117,30 @@ bila digunakan pada fungsi yang panjang. * Variabel -Perintah `var` mendeklarasikan daftar variabel; seperti pada daftar argumen pada fungsi, tipenya berada di akhir. +Perintah `var` mendeklarasikan daftar variabel; seperti pada daftar argumen +pada fungsi, tipenya berada di akhir. -Perintah `var` bisa ditulis pada tingkat paket atau fungsi, seperti pada contoh sebelah. +Perintah `var` bisa ditulis pada tingkat paket atau fungsi, seperti pada +contoh sebelah. .play basics/variables.go * Variabel dengan inisialisasi -Deklarasi sebuah variabel bisa mengikutkan inisialisasi, satu per variabel. +Deklarasi sebuah variabel bisa mengikutkan inisialisasi. -Jika sebuah inisialisasi ada, maka tipe bisa dihilangkan; variabel akan memiliki tipe dari inisialisasi. +Jika variabel diinisialisasi, maka tipe dari variabel bisa dihilangkan; +sehingga variabel akan memiliki tipe sesuai dengan nilai inisialisasi. .play basics/variables-with-initializers.go * Deklarasi variabel singkat -Dalam sebuah fungsi, perintah singkat `:=` bisa digunakan menggantikan `var` dengan tipe implisit. +Dalam sebuah fungsi, perintah singkat `:=` bisa digunakan menggantikan `var` +dengan tipe implisit. -Di luar sebuah fungsi, setiap perintah harus dimulai dengan kata kunci (`var`, `func`, dst), sehingga `:=` tidak bisa digunakan. +Di luar sebuah fungsi, setiap perintah harus dimulai dengan kata kunci (`var`, +`func`, dst), sehingga `:=` tidak bisa digunakan. .play basics/short-variable-declarations.go @@ -155,10 +164,15 @@ Tipe dasar pada Go yaitu, complex64 complex128 -Contoh sebelah memperlihatkan variabel dengan beberapa tipe, dan juga deklarasi variabel bisa "difaktorkan" ke dalam blok, seperti pada perintah `import`. +Contoh sebelah memperlihatkan variabel dengan beberapa tipe, dan juga +deklarasi variabel bisa "difaktorkan" ke dalam blok, seperti pada perintah +`import`. -Tipe `int`, `uint`, dan `uintptr` biasanya memiliki panjang 32 bits pada sistem 32-bit dan 64 bits pada sistem 64-bit. -Saat anda membutuhkan nilai integer anda sebaiknya menggunakan tipe `int` kecuali anda memiliki alasan tertentu menggunakan tipe berukuran khusus atau _unsigned_integer_. +Tipe `int`, `uint`, dan `uintptr` biasanya memiliki panjang 32 bits pada +sistem 32-bit dan 64 bits pada sistem 64-bit. +Saat anda membutuhkan nilai integer anda sebaiknya menggunakan tipe `int` +kecuali anda memiliki alasan tertentu menggunakan tipe berukuran khusus atau +_unsigned_integer_. .play basics/basic-types.go @@ -199,20 +213,25 @@ yang terjadi. * Inferensi tipe -Saat mendeklarasikan sebuah variabel tanpa menentukan tipe eksplisitnya (baik menggunakan sintaks `:=` atau `var`), tipe variabel disamakan dengan nilai di sebelah kanannya. +Saat mendeklarasikan sebuah variabel tanpa menentukan tipe eksplisitnya (baik +menggunakan sintaks `:=` atau `var`), tipe variabel disamakan dengan nilai di +sebelah kanannya. -Bila sisi kanan dari deklarasi ditulis tipenya, maka variabel baru memiliki tipe yang sama: +Bila sisi kanan dari deklarasi ditulis tipenya, maka variabel baru memiliki +tipe yang sama: var i int j := i // j is an int -Tapi bila sisi kanan berupa konstanta numerik, variabel baru bisa jadi `int`, `float64`, atau `complex128` bergantung kepada presisi dari konstanta: +Tapi bila sisi kanan berupa konstanta numerik, variabel baru bisa jadi `int`, +`float64`, atau `complex128` bergantung kepada presisi dari konstanta: i := 42 // int f := 3.142 // float64 g := 0.867 + 0.5i // complex128 -Coba ubah nilai awal dari `v` pada contoh kode dan perhatikan bagaimana tipenya berubah. +Coba ubah nilai awal dari `v` pada contoh kode dan perhatikan bagaimana +tipenya berubah. .play basics/type-inference.go @@ -230,11 +249,13 @@ Konstanta tidak bisa dideklarasikan dengan sintaks `:=`. Konstanta numerik adalah _nilai_ dengan presisi-tinggi. -Konstanta yang tidak bertipe menggunakan tipe yang dibutuhkan sesuai dengan konteksnya. +Konstanta yang tidak bertipe menggunakan tipe yang dibutuhkan sesuai dengan +konteksnya. Coba cetak juga `needInt(Big)`. -(An `int` can store at maximum a 64-bit integer, and sometimes less.) +(Sebuah `int` dapat menyimpan sebanyak 64-bit integer, dan terkadang lebih +sedikit, bergantung kepada mesin anda.) .play basics/numeric-constants.go |
