Go, atau Golang, adalah bahasa kompilasi yang diketik secara statis dan dikenal karena kesederhanaan dan efisiensinya. Dua tipe data penting yang berguna untuk organisasi data adalah peta dan struct. Meskipun keduanya dapat digunakan untuk mengelompokkan data, keduanya memiliki tujuan berbeda dan menawarkan fitur unik.

Apa itu Peta?

Peta adalah tipe data bawaan di Go yang mengaitkan kunci dengan nilai. Nilai nol dari sebuah peta adalah `nil`.

Ciri-ciri Peta:

1. Dinamis: Peta dapat berkembang dengan menambahkan pasangan nilai kunci baru secara dinamis.

2. Tidak Terurut: Urutan item tidak dijamin konsisten.

3. Pencarian Cepat: O(1) kompleksitas waktu rata-rata untuk operasi dasar seperti pencarian, penyisipan, dan penghapusan.

Contoh Dunia Nyata: Menghitung Frekuensi Kata

Bayangkan Anda sedang membuat alat analisis teks dasar yang menghitung frekuensi setiap kata dalam teks tertentu.

package main

import (
 "fmt"
 "strings"
)

func countWords(text string) map[string]int {
 wordCounts := make(map[string]int)
 words := strings.Fields(text)

 for _, word := range words {
  wordCounts[word]++
 }

 return wordCounts
}

func main() {
 text := "hello world hello"
 wordCounts := countWords(text)
 fmt.Println("Word Frequencies:", wordCounts)
}

Dalam contoh ini, kita mendefinisikan fungsi `countWords` yang mengambil string dan mengembalikan peta frekuensi kata. Kami kemudian menggunakan fungsi ini di fungsi `utama` kami untuk menghitung kata.

Apa itu Struktur?

Struct adalah tipe data gabungan yang mengelompokkan variabel dalam satu nama. Variabel-variabel ini bisa bermacam-macam jenisnya.

Karakteristik suatu Struktur:

1. Statis: Setelah ditentukan, jumlah bidang dalam suatu struct adalah tetap.

2. Diurutkan: Bidang memiliki urutan yang ditentukan.

3. Nilai Nol: Nilai nol dari sebuah struct terdiri dari semua bidangnya pada nilai nol.