Apa itu Struktur di Golang

Apa Itu Struktur Di Golang



Dalam bahasa Go, struktur adalah kumpulan variabel (bidang) yang dikelompokkan dalam satu nama. Ini adalah tipe data komposit yang memungkinkan kita membuat struktur data khusus untuk menyimpan informasi terkait. Struktur dalam Go seperti kelas dalam pemrograman berorientasi objek seperti C, dan C++, tetapi tidak mendukung pewarisan. Sebaliknya, mereka mengandalkan komposisi untuk mencapai penggunaan kembali kode. Artikel ini membahas struktur di Golang dan bagaimana kita dapat mendeklarasikan dan mengakses anggota struct.

Apa itu Struktur di Golang

Di Golang, struktur adalah tipe data gabungan yang terdiri dari nol atau lebih bidang bernama, yang masing-masing memiliki tipe tertentu. Bidang struktur dapat bertipe apa pun, termasuk struktur, larik, fungsi, atau antarmuka lainnya.







Berikut adalah contoh struktur di Golang:



jenis Struktur orang {
string Nama Lengkap
Bertahun-tahun int
Alamat lokasi
}
jenis Struktur alamat {
string Nama Jalan
Nama Kota    string
string Nama Negara
}


Di sini kita telah mendefinisikan struktur Person yang memiliki tiga field: FullName, YearsOld, dan Location. Bidang Lokasi itu sendiri merupakan struktur yang memiliki tiga bidang: Nama Jalan, Nama Kota, dan Nama Negara.



Cara Mendeklarasikan Struktur di Golang

Kita dapat mendeklarasikan struct di Golang menggunakan jenis kata kunci. Nama struct didefinisikan setelah jenis kata kunci, dan bidangnya diapit oleh kurung kurawal {} . Berikut sintaks untuk mendeklarasikan struct di Go:





jenis Struktur Nama Struktur {
NamaBidang1 JenisBidang1
FieldName2 FieldType2
...
}


Di bawah ini adalah contoh cara mendeklarasikan struct bernama Person dengan dua field name dan age masing-masing bertipe string dan int:

jenis Struktur orang {
rangkaian nama
usia int
}


Pada kode di atas, kita telah menggunakan jenis kata kunci untuk mendeklarasikan struct baru bernama Orang dengan dua bidang nama tipe string dan usia tipe int. Bidang dipisahkan oleh a Garis baru karakter tetapi a titik koma (;) juga dapat digunakan untuk memisahkan mereka.



Cara Mengakses Struct Member di Golang

Untuk mengakses bidang instance struct dalam bahasa Go dot ('.') operator digunakan. Operator titik ini diikuti dengan nama field. Berikut adalah contoh cara mengakses kolom name dan age dari instance Person struct:

// Buat yang baru ` Orang ` struct instance dengan nama 'kash' dan usia 24
kash := Orang { nama: 'kash' , usia: 24 }

// Akses bidang dari ` kash ` contoh struct
fmt.Println ( kash.name ) // Keluaran: 'kash'
fmt.Println ( kash.age ) // Keluaran: 24


Pada kode di atas, kami telah membuat instance Person struct baru bernama kash dengan nama tersebut kash dan usia 24 . Kami kemudian mengakses bidang nama dan usia dari instance kash struct menggunakan (“.”) operator dan mencetaknya ke konsol.

Penting untuk dicatat bahwa bidang instance struct diakses menggunakan notasi titik dan bukan anak panah notasi (->) digunakan dalam beberapa bahasa pemrograman lain. Notasi titik digunakan secara konsisten di Go untuk mengakses bidang struct, serta properti dan metode jenis lainnya.

Contoh Kode Mendeklarasikan dan Mengakses Struct Member di Golang

Di bawah ini adalah contoh lengkap mendeklarasikan struct Person di Go dan mencetak nilainya ke layar:

paket utama
impor 'fmt'
jenis Struktur orang {
rangkaian nama
usia int
}
fungsi utama ( ) {
// Buat yang baru ` Orang ` struct instance dengan nama 'kash' dan usia 24
kash := Orang { nama: 'kash' , usia: 24 }
// Cetak ` nama ` Dan ` usia ` dari ` kash ` struct instance ke konsol
fmt.Cetakf ( 'Nama: %s \N ' , kash.nama )
fmt.Cetakf ( 'Berumur \N ' , kash.age )
}


Dalam kode yang ditulis di atas, pertama-tama kita mendeklarasikan Orang struct. Struktur ini berisi dua bidang yaitu nama dan umur. Setelah itu, kami membuat instance Person struct baru bernama kash dengan nama tersebut kash dan usia 24 .

Untuk menampilkan bidang nama dan usia, kami menggunakan fmt.Cetakf berfungsi dengan %S Dan %D penentu format untuk mencetak masing-masing bidang nama dan usia.

Setelah dijalankan, keluaran kode berikut muncul di konsol:

Cara Melewati Struct sebagai Argumen Fungsi

Untuk melewatkan struct sebagai argumen fungsi di Go, kita hanya perlu menentukan tipe struct sebagai tipe parameter dalam tanda tangan fungsi, dan kemudian meneruskan instance struct sebagai argumen saat memanggil fungsi.

Kode Contoh

Contoh di bawah ini menunjukkan cara meneruskan instance Person struct sebagai argumen ke fungsi dalam bahasa Go dan mencetak nilainya ke layar:

paket utama
impor 'fmt'
// Deklarasikan sebuah struct bernama ` Orang ` dengan dua bidang: ` nama ` Dan ` usia `
jenis Struktur orang {
rangkaian nama
usia int
}
// Deklarasikan a fungsi bernama ` printPerson ` yang mengambil a ` Orang ` struct sebagai sebuah argumen
fungsi printPerson ( p Orang ) {
fmt.Cetakf ( 'Nama: %s \N ' , hal.nama )
fmt.Cetakf ( 'Berumur \N ' , halaman )
}
fungsi utama ( ) {
// Buat yang baru ` Orang ` struct instance dengan nama 'kash' dan usia 24
kash := Orang { nama: 'kash' , usia: 24 }
// Melewati ` kash ` struct contoh ke ` printPerson ` fungsi
printPerson ( kash )
}


Pada kode di atas, pertama-tama kita mendeklarasikan struct Person dengan dua field, nama, Dan usia . Kami kemudian mendeklarasikan fungsi bernama printPerson yang menggunakan struct Person sebagai argumen dan mencetak bidang nama dan umurnya ke layar menggunakan fungsi fmt.Printf.

Di fungsi utama, kami membuat instance Person struct baru bernama kash dengan nama tersebut kash dan usia 24. Kami kemudian meneruskan instance kash struct ke fungsi printPerson dengan memanggil fungsi printPerson dan meneruskan kash sebagai argumen.

Output berikut dapat dilihat di konsol setelah menjalankan kode di atas:

Kesimpulan

Di Golang, struktur dapat mewakili tipe data yang kompleks dan mengenkapsulasi data terkait. Struktur adalah tipe data yang terdiri dari satu atau lebih bidang, yang masing-masing diberi nama dan tipe tertentu. Bidang struktur dapat bertipe apa pun, termasuk struktur, larik, fungsi, atau antarmuka lainnya. Artikel ini membahas struktur Go secara mendetail, untuk info lebih lanjut tentang mendeklarasikan dan mengakses elemen struct, baca artikelnya.