Apakah Struktur di Golang

Apakah Struktur Di Golang



Dalam bahasa Go, struktur ialah koleksi pembolehubah (medan) yang dikumpulkan di bawah satu nama. Ia ialah jenis data komposit yang membolehkan kami membuat struktur data tersuai untuk menyimpan maklumat berkaitan. Struktur dalam Go adalah seperti kelas dalam pengaturcaraan berorientasikan objek seperti C, dan C++, tetapi mereka tidak menyokong warisan. Sebaliknya, mereka bergantung pada komposisi untuk mencapai penggunaan semula kod. Artikel ini merangkumi struktur dalam Golang dan cara kami boleh mengisytiharkan dan mengakses ahli struct.

Apakah Struktur di Golang

Di Golang, struktur ialah jenis data komposit yang terdiri daripada sifar atau lebih medan bernama, setiap satunya mempunyai jenis tertentu. Medan struktur boleh terdiri daripada sebarang jenis, termasuk struktur, tatasusunan, fungsi atau antara muka lain.







Berikut adalah contoh struktur di Golang:



menaip Struktur orang {
Rentetan Nama Penuh
Bertahun-tahun int
Alamat Lokasi
}
menaip Struktur alamat {
Rentetan StreetName
CityName    rentetan
Rentetan Nama Negara
}


Di sini kami telah menentukan struktur Orang yang mempunyai tiga medan: Nama Penuh, Berusia Bertahun dan Lokasi. Medan Lokasi itu sendiri adalah struktur yang mempunyai tiga medan: StreetName, CityName dan CountryName.



Bagaimana Mengisytiharkan Struktur di Golang

Kita boleh mengisytiharkan struct dalam Golang menggunakan menaip kata kunci. Nama struct ditakrifkan selepas menaip kata kunci, dan medannya disertakan dalam kurungan kerinting { } . Berikut ialah sintaks untuk mengisytiharkan struct dalam Go:





menaip StructName struct {
FieldName1 FieldType1
FieldName2 FieldType2
...
}


Di bawah ialah contoh cara mengisytiharkan struct bernama Person dengan dua nama medan dan umur jenis rentetan dan int masing-masing:

menaip Struktur orang {
rentetan nama
umur int
}


Dalam kod di atas, kami telah menggunakan menaip kata kunci untuk mengisytiharkan struct baru bernama Orang dengan dua bidang nama daripada jenis rentetan dan umur daripada jenis int. Medan dipisahkan oleh a Baris baru watak tetapi a titik koma (;) juga boleh digunakan untuk memisahkan mereka.



Cara Mengakses Ahli Struktur di Golang

Untuk mengakses medan contoh struct dalam bahasa Go titik (“.”) operator digunakan. Operator titik ini diikuti dengan nama medan. Berikut ialah contoh cara untuk mengakses medan nama dan umur bagi contoh struct Person:

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

// Akses medan ` kash ` contoh struct
fmt.Println ( kash.name ) // Pengeluaran: 'kash'
fmt.Println ( kash.umur ) // Pengeluaran: 24


Dalam kod di atas, kami telah mencipta contoh struct Person baharu bernama kash dengan nama itu kash dan umur 24 . Kami kemudiannya mengakses medan nama dan umur bagi contoh struct kash menggunakan (“.”) operator dan mencetaknya ke konsol.

Adalah penting untuk ambil perhatian bahawa medan contoh struct diakses menggunakan notasi titik dan bukan anak panah tatatanda (->) digunakan dalam beberapa bahasa pengaturcaraan lain. Notasi titik digunakan secara konsisten merentas Go untuk mengakses medan struct, serta sifat dan kaedah jenis lain.

Contoh Kod Pengisytiharan dan Akses Ahli Struktur di Golang

Di bawah ialah contoh lengkap mengisytiharkan struct Person dalam Go dan mencetak nilainya ke skrin:

pakej utama
import 'fmt'
menaip Struktur orang {
rentetan nama
umur int
}
fungsi utama ( ) {
// Buat yang baru ` Orang ` contoh struct dengan nama 'kash' dan umur 24
kash : = Orang { nama: 'kash' , umur: 24 }
// Cetak ` nama ` dan ` umur ` daripada ` kash ` contoh struct ke konsol
fmt.Cetakf ( 'Nama: %s \n ' , kash.name )
fmt.Cetakf ( 'Umur: %d \n ' , kash.age )
}


Dalam kod yang ditulis di atas, kami mula-mula mengisytiharkan Orang struct. Struktur ini mengandungi dua medan iaitu nama dan umur. Selepas itu, kami mencipta contoh struct Person baharu bernama kash dengan nama itu kash dan umur 24 .

Untuk memaparkan medan nama dan umur, kami menggunakan fmt.Cetakf berfungsi dengan %s dan %d penentu format untuk mencetak medan nama dan umur, masing-masing.

Selepas berjalan, keluaran berikut kod muncul pada konsol:

Cara Meluluskan Struktur sebagai Argumen Fungsi

Untuk menghantar struct sebagai argumen fungsi dalam Go, kita hanya perlu menentukan jenis struct sebagai jenis parameter dalam tandatangan fungsi, dan kemudian lulus contoh struct sebagai argumen apabila memanggil fungsi.

Contoh Kod

Contoh di bawah menunjukkan cara untuk menghantar contoh struct Person sebagai hujah kepada fungsi dalam bahasa Go dan mencetak nilainya ke skrin:

pakej utama
import 'fmt'
// Isytiharkan struct bernama ` Orang ` dengan dua bidang: ` nama ` dan ` umur `
menaip Struktur orang {
rentetan nama
umur int
}
// Isytihar a fungsi bernama ` printPerson ` yang mengambil a ` Orang ` struct sebagai suatu hujah
func printPerson ( p Orang ) {
fmt.Cetakf ( 'Nama: %s \n ' , p.nama )
fmt.Cetakf ( 'Umur: %d \n ' , hlm.umur )
}
fungsi utama ( ) {
// Buat yang baru ` Orang ` contoh struct dengan nama 'kash' dan umur 24
kash : = Orang { nama: 'kash' , umur: 24 }
// Lulus ` kash ` contoh struct kepada ` printPerson ` fungsi
printPerson ( kash )
}


Dalam kod di atas, kami mula-mula mengisytiharkan struct Orang dengan dua medan, nama, dan umur . Kami kemudian mengisytiharkan fungsi bernama printPerson yang mengambil struct Orang sebagai hujah dan mencetak medan nama dan umurnya ke skrin menggunakan fungsi fmt.Printf.

Dalam fungsi utama, kami mencipta contoh struct Person baharu bernama kash dengan nama itu kash dan umur 24. Kami kemudian menghantar contoh struct kash kepada fungsi printPerson dengan memanggil fungsi printPerson dan menghantar kash sebagai hujah.

Output berikut boleh dilihat pada konsol selepas menjalankan kod di atas:

Kesimpulan

Di Golang, struktur boleh mewakili jenis data yang kompleks dan merangkum data berkaitan. Struktur ialah jenis data yang terdiri daripada satu atau lebih medan, setiap satunya diberi nama dan jenis tertentu. Medan struktur boleh terdiri daripada sebarang jenis, termasuk struktur, tatasusunan, fungsi atau antara muka lain. Artikel ini membincangkan struktur Go secara terperinci, untuk mendapatkan maklumat lanjut tentang mengisytiharkan dan mengakses elemen struktur, baca artikel.