Struct di Go
Penjelasan
Go tidak punya class/OOP tradisional seperti PHP/Java — sebagai gantinya, Go punya struct untuk mengelompokkan beberapa field jadi satu unit data, mirip struct di C. Struct di Go jadi fondasi utama untuk merepresentasikan entitas, nantinya dilengkapi dengan method lewat receiver (dibahas di materi berikutnya).
Contoh Konsep
package main
import "fmt"
type Buku struct {
Judul string
Tahun int
}
func main() {
bukuku := Buku{Judul: "Laravel Dasar", Tahun: 2026}
fmt.Println(bukuku.Judul, bukuku.Tahun)
// Output: Laravel Dasar 2026
bukuku.Tahun = 2027 // field bisa diubah lewat dot notation
}
Praktikum
Buat struct Siswa dengan field Nama (string) dan Umur (int). Buat satu variabel struct Siswa di main(), isi nama dan umurnya, lalu tampilkan keduanya dengan fmt.Println.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Field struct yang diawali HURUF BESAR (mis. Nama) bisa diakses dari package lain (exported/public), sedangkan yang diawali huruf kecil (mis. nama) hanya bisa diakses dari dalam package yang sama (unexported/private) — Go tidak punya keyword public/private terpisah, cukup dari kapitalisasi nama.