Array: Koleksi dengan Panjang Tetap
Literal array, pengindeksan, dan panjang
Array: Koleksi dengan Panjang Tetap adalah pelajaran Go Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Go Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Go Academy mencakup 4 pelajaran total.
Apa Itu Array?
Array di Go adalah rangkaian elemen bertipe sama dengan panjang tetap. Panjangnya merupakan bagian dari tipe: [3]int dan [4]int adalah tipe yang berbeda.
- Array adalah tipe nilai—penetapan menyalin seluruh array
- Panjangnya selalu diketahui saat kompilasi
- Jarang digunakan secara langsung; slice lebih disukai untuk sebagian besar tugas
Literal Array
Deklarasikan dan inisialisasikan array dengan literal:
package main
func main() {
primes := [5]int{2, 3, 5, 7, 11}
names := [3]string{"Alice", "Bob", "Carol"}
flags := [4]bool{true, false, true, false}
_ = primes; _ = names; _ = flags
}Panjang dan Pengindeksan Array
Gunakan len() untuk mendapatkan panjang dan pengindeksan berbasis nol untuk membaca atau menulis elemen:
package main
import "fmt"
func main() {
scores := [3]int{90, 85, 92}
fmt.Println(len(scores)) // 3
fmt.Println(scores[0]) // 90
scores[1] = 100
fmt.Println(scores) // [90 100 92]
}Elipsis dalam Literal Array
Gunakan [...] agar compiler menghitung jumlah elemennya untuk Anda:
package main
import "fmt"
func main() {
days := [...]string{"Mon","Tue","Wed","Thu","Fri"}
fmt.Println(len(days)) // 5
}Array Adalah Tipe Nilai
Saat Anda menetapkan atau meneruskan array, Go menyalin seluruh isinya. Mengubah salinan tidak memengaruhi array asli:
package main
import "fmt"
func main() {
a := [3]int{1, 2, 3}
b := a // full copy
b[0] = 99
fmt.Println(a) // [1 2 3] — unchanged
fmt.Println(b) // [99 2 3]
}Membandingkan Array
Array dengan tipe dan panjang yang sama dapat dibandingkan menggunakan == dan !=:
package main
import "fmt"
func main() {
x := [3]int{1, 2, 3}
y := [3]int{1, 2, 3}
z := [3]int{1, 2, 4}
fmt.Println(x == y) // true
fmt.Println(x == z) // false
}Array 2D
Array dapat disusun bertingkat untuk membentuk kisi atau matriks:
package main
import "fmt"
func main() {
grid := [2][3]int{
{1, 2, 3},
{4, 5, 6},
}
fmt.Println(grid[1][2]) // 6
}Melakukan Iterasi pada Array
Gunakan perulangan for klasik atau range untuk melakukan iterasi:
package main
import "fmt"
func main() {
nums := [4]int{10, 20, 30, 40}
for i, v := range nums {
fmt.Printf("[%d] = %d\n", i, v)
}
}Array vs Slice
Perbedaan utamanya:
- Array: ukuran tetap, tipe nilai, ukuran merupakan bagian dari tipe
- Slice: ukuran dinamis, tipe referensi, didukung oleh array
- Dalam praktiknya, gunakan slice kecuali Anda memerlukan ukuran tetap saat kompilasi (misalnya hash SHA-256
[32]byte)
Kesalahan Umum
Perhatikan hal-hal berikut:
- Indeks di luar rentang—Go akan memicu panic saat runtime jika
i >= len(arr) - Meneruskan array besar ke fungsi menyebabkan penyalinan yang mahal—gunakan pointer atau slice sebagai gantinya
- Jangan lupa bahwa
[3]intdan[4]intadalah tipe yang tidak kompatibel
Pemeriksaan Singkat
Berapa panjang [...]string{"a","b","c"}?
Rangkuman: Array
Hal-hal penting:
- Array memiliki panjang tetap yang ditentukan saat kompilasi dan merupakan bagian dari tipe
- Array adalah tipe nilai—penetapan menyalin semua elemen
- Gunakan
len()dan pengindeksan berbasis nol - Lebih baik gunakan slice untuk sebagian besar kebutuhan koleksi
Tugas Latihan
Deklarasikan array yang berisi 5 bilangan bulat, tetapkan nilai 100 ke elemen ketiga, lalu cetak array menggunakan range.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Array: Koleksi dengan Panjang Tetap” gratis?
Ya — teks lengkap “Array: Koleksi dengan Panjang Tetap” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Go Academy, upgrade ke CoddyKit PRO. Kursus Go Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Array: Koleksi dengan Panjang Tetap”?
Literal array, pengindeksan, dan panjang Kamu berlatih Go Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Go Academy?
Tidak diperlukan pengalaman sebelumnya. Go Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Array: Koleksi dengan Panjang Tetap” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Go Academy ini?
Ya. Setiap pelajaran Go Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Array: Koleksi dengan Panjang Tetap
- Slice: Daftar Dinamis
- Map: Penyimpanan Kunci-Nilai
- Melakukan Iterasi pada Koleksi dengan range