Tipe Data Array, Slice, dan Map di Golang

Ajitama DevAjitama Dev
2 min read

Setelah sebelumnya kita sudah membahas tipe data string, boolean dan number, sekarang kita lanjutkan dengan beberapa tipe data penting yang sering digunakan, yaitu Array, Slice, dan Map.

  • Array digunakan untuk menyimpan sejumlah elemen dengan panjang tetap.

  • Slice adalah versi fleksibel dari array yang dapat berubah ukurannya.

  • Map adalah struktur data key-value yang memungkinkan penyimpanan dan pencarian data secara efisien.

Artikel ini akan membahas konsep dasar serta contoh implementasi dari masing-masing struktur data tersebut.

1. Array di Golang

Array adalah kumpulan elemen dengan jumlah yang tetap dan tipe data yang sama.

Contoh Penggunaan Array:

package main
import "fmt"

func main() {
    var numbers [5]int // Deklarasi array dengan panjang 5
    numbers[0] = 10    // Mengisi elemen pertama dengan nilai 10
    fmt.Println(numbers)

    // Deklarasi dan inisialisasi langsung
    names := [3]string{"Andi", "Budi", "Citra"}
    fmt.Println(names)
}

Karakteristik Array:

  • Panjangnya tetap.

  • Tidak bisa diubah ukurannya setelah dideklarasikan.

  • Harus memiliki elemen dengan tipe data yang sama.

2. Slice di Golang

Slice adalah bagian dari array yang ukurannya bisa berubah secara dinamis.

Contoh Penggunaan Slice:

package main
import "fmt"

func main() {
    numbers := []int{1, 2, 3, 4, 5} // Slice tanpa panjang tetap
    fmt.Println(numbers)

    // Menambahkan elemen ke dalam slice
    numbers = append(numbers, 6, 7, 8)
    fmt.Println(numbers)

    // Membuat slice dari array
    arr := [5]int{10, 20, 30, 40, 50}
    slice := arr[1:4] // Memotong dari indeks 1 sampai sebelum indeks 4
    fmt.Println(slice)
}

Karakteristik Slice:

  • Berbasis array tetapi lebih fleksibel.

  • Bisa berubah ukuran menggunakan append().

  • Bisa diambil dari array atau dibuat langsung.

3. Map di Golang

Map adalah struktur data key-value yang mirip dengan dictionary di Python atau objek di JavaScript.

Contoh Penggunaan Map:

package main
import "fmt"

func main() {
    person := make(map[string]string) // Deklarasi map
    person["name"] = "Alice"
    person["age"] = "25"
    fmt.Println(person)

    // Deklarasi dan inisialisasi langsung
    student := map[string]int{
        "John": 90,
        "Jane": 85,
        "Doe": 80,
    }
    fmt.Println(student)

    // Menghapus elemen dari map
    delete(student, "Doe")
    fmt.Println(student)
}

Karakteristik Map:

  • Berisi pasangan key-value.

  • Tidak memiliki urutan tetap.

  • Bisa bertipe map[KeyType]ValueType.

Kesimpulan

  • Array memiliki ukuran tetap dan hanya bisa menyimpan tipe data yang sama.

  • Slice lebih fleksibel dibanding array karena bisa bertambah ukurannya.

  • Map digunakan untuk menyimpan data dalam bentuk key-value yang cepat untuk pencarian.

Itulah dasar penggunaan array, slice, dan map di Golang. Semoga bermanfaat!

0
Subscribe to my newsletter

Read articles from Ajitama Dev directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ajitama Dev
Ajitama Dev