Logo
© 2019 - 2026 SantriKoding.

On This Page

Mobile navigation

Belajar Golang Dasar #11: Struct

like emoticon 3
love emoticon 2
insightful emoticon 0
fire emoticon 0
cheer emoticon 0
celebrate emoticon 0
Belajar Golang Dasar #11: Struct

Setelah kita belajar cara menyimpan kumpulan data dengan array, slice, dan map, sekarang saatnya kenalan dengan fitur penting lainnya di Golang: struct.

Struct (singkatan dari structure) memungkinkan kita membuat tipe data sendiri yang bisa menampung berbagai informasi dalam satu wadah. Ini sangat berguna saat kita mau merepresentasikan sesuatu yang kompleks, seperti data pengguna, produk, buku, dan sebagainya.

Apa Itu Struct?

Struct adalah kumpulan dari beberapa field (variabel) yang dikelompokkan dalam satu tipe data. Field-field ini bisa berbeda tipe, dan kita bisa memberi nama sesuai kebutuhan.

Ibaratnya struct itu kayak cetakan atau blueprint untuk bikin objek/data yang strukturnya sama.

Membuat Struct

type Mahasiswa struct {
    Nama  string
    Umur  int
    Aktif bool
}

Kita baru saja membuat tipe data baru bernama Mahasiswa dengan tiga field: Nama, Umur, dan Aktif.

Cara Menggunakan Struct

  1. Membuat Variabel dari Struct

    var mhs1 Mahasiswa
    mhs1.Nama = "Budi"
    mhs1.Umur = 20
    mhs1.Aktif = true
    
    fmt.Println(mhs1)
    
  2. Struct Literal (langsung isi)

    mhs2 := Mahasiswa{
        Nama:  "Ani",
        Umur:  22,
        Aktif: false,
    }
    
  3. Akses Field

    fmt.Println("Nama:", mhs2.Nama)
    fmt.Println("Umur:", mhs2.Umur)
    

Struct di Dalam Struct

Struct juga bisa menampung struct lain.

type Alamat struct {
    Kota   string
    Jalan  string
}

type Mahasiswa struct {
    Nama   string
    Umur   int
    Alamat Alamat
}

Penggunaan:

mhs := Mahasiswa{
    Nama: "Citra",
    Umur: 21,
    Alamat: Alamat{
        Kota:  "Bandung",
        Jalan: "Jl. Merdeka",
    },
}

fmt.Println(mhs.Alamat.Kota) // Output: Bandung

Pointer ke Struct

Struct juga bisa digunakan bersama pointer:

func ubahUmur(m *Mahasiswa) {
    m.Umur = 25
}

func main() {
    m := Mahasiswa{Nama: "Doni", Umur: 20}
    ubahUmur(&m)
    fmt.Println(m.Umur) // Output: 25
}

Dengan pointer, perubahan di dalam fungsi akan berdampak langsung ke data aslinya.

Kesimpulan

Struct adalah fondasi untuk membuat data yang lebih kompleks di Golang. Dengan struct, kita bisa mengelompokkan data yang saling berhubungan ke dalam satu kesatuan yang rapi dan mudah digunakan.

Struct juga jadi dasar penting untuk OOP (Object-Oriented Programming) versi Golang, termasuk saat kita belajar tentang method dan interface nanti.

Pada artikel selanjutnya, kita semua akan belajar tentang Method di dalam pemrogramman Golang.

Terima Kasih

Artikel ini dibaca sebanyak 2.726 kali

Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CEO & Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komentar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami

Memuat komentar...