komen struktur golang

王林
Lepaskan: 2023-05-13 11:08:37
asal
970 orang telah melayarinya

Golang ialah bahasa pengaturcaraan yang sangat berkuasa Struktur merupakan bahagian penting daripadanya dan salah satu jenis data yang paling penting dalam pengaturcaraan berorientasikan objek. Struktur membenarkan pengaturcara untuk menentukan jenis data mereka sendiri, yang boleh mengandungi jenis data yang berbeza dan boleh menerangkan beberapa struktur yang kompleks. Di Golang, struktur ialah jenis nilai dan boleh mengandungi kaedah, yang menyediakan pengaturcara dengan fleksibiliti dan kemudahan yang hebat. Artikel ini akan memberikan pengenalan terperinci kepada struktur Golang dan anotasinya.

1. Definisi dan permulaan struktur Golang

Struktur Golang ialah jenis data tersuai yang membolehkan kami mewakili beberapa data yang berkaitan atau berkaitan. Takrif struktur memerlukan penggunaan jenis kata kunci, seperti yang ditunjukkan di bawah:

type Person struct {
    Name string
    Age  int
}
Salin selepas log masuk

Kod di atas mentakrifkan struktur bernama Orang, yang mengandungi dua medan Nama dan Umur, masing-masing mewakili nama dan umur orang itu. Medan struktur boleh berupa mana-mana jenis data Golang, termasuk int, apungan, rentetan, bool, tatasusunan, hirisan, penunjuk, dsb. Nama medan struktur mestilah unik dan medan tidak boleh ditakrifkan berulang kali dalam struktur.

Terdapat dua cara untuk memulakan struktur:

  1. Secara langsung gunakan struktur literal untuk memulakan
person1 := Person{
    Name: "Tom",
    Age:  20,
}
Salin selepas log masuk

Kod di atas secara langsung menggunakan struktur literal A Objek orang dicipta dengan nilai medan Nama "Tom" dan nilai medan Umur 20.

  1. Gunakan kata kunci baharu untuk mencipta penunjuk kepada struktur
person2 := new(Person)
person2.Name = "Jack"
person2.Age = 30
Salin selepas log masuk

Kod di atas menggunakan kata kunci baharu untuk mencipta penunjuk kepada struktur Orang orang2, dan kemudian lulus ia Tugasan medan penunjuk digunakan untuk memulakan pembolehubah ahli struktur.

2. Anotasi struktur Golang

Di Golang, kami boleh menggunakan anotasi untuk menerangkan kod atau menyediakan dokumentasi ialah bahagian yang sangat penting dalam logik dan reka bentuk program. Terdapat beberapa cara untuk menambah ulasan dalam struktur:

  1. Komen baris

Komen baris diwakili oleh garis miring berganda (//) dan biasanya digunakan dalam satu baris kod Tambah ulasan kemudian, seperti yang ditunjukkan di bawah:

type Person struct {
    Name string // 姓名
    Age  int    // 年龄
}
Salin selepas log masuk

Kod di atas menambah ulasan pada dua medan dalam struktur Orang.

  1. Sekat ulasan

Sekat ulasan diwakili oleh / dan /, dan biasanya digunakan untuk menambah ulasan sebelum dan selepas sekeping kod, seperti yang ditunjukkan di bawah:

/*
Person 结构体表示人的基本信息
包含姓名和年龄两个字段
*/
type Person struct {
    Name string // 姓名
    Age  int    // 年龄
}
Salin selepas log masuk

Kod di atas menerangkan struktur Orang melalui ulasan blok.

  1. Komen dokumentasi kod

Komen dokumentasi kod ialah jenis ulasan khas yang digunakan untuk menambah dokumentasi yang boleh dieksport dalam kod, seperti yang ditunjukkan di bawah:

// Person 结构体表示人的基本信息
// 包含姓名和年龄两个字段
type Person struct {
    Name string // 姓名
    Age  int    // 年龄
}
Salin selepas log masuk

Kod di atas menambah komen dokumentasi kod pada struktur Orang Anda boleh menggunakan arahan go doc untuk melihat ulasan dokumentasi kod.

3. Sarang struktur Golang

Di Golang, kita boleh menggunakan sarang struktur untuk mensimulasikan struktur data yang lebih kompleks, seperti pepohon, graf, dsb. Sarang struktur boleh dicapai menggunakan medan tanpa nama. Medan tanpa nama merujuk kepada jenis medan yang tidak menyatakan nama medan, seperti yang ditunjukkan di bawah:

type Point struct {
    X int
    Y int
}

type Circle struct {
    Point  // 匿名字段
    Radius int
}

type Wheel struct {
    Circle  // 匿名字段
    Spokes int
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan struktur Titik untuk mewakili titik pada satah dua dimensi, dan kemudian mentakrifkan struktur Bulatan untuk mewakili Bulatan, yang mengandungi Titik medan tanpa nama, menunjukkan pusat bulatan. Akhir sekali, kami mentakrifkan struktur Roda untuk mewakili roda, yang mengandungi Bulatan medan tanpa nama, mewakili roda dan medan Spokes mewakili bilangan jejari. Melalui sarang struktur, kami hanya boleh menggabungkan struktur data yang berbeza untuk membina struktur data yang lebih kompleks.

4. Kaedah struktur Golang

Di Golang, struktur boleh mengandungi kaedah, yang sering dikaitkan dengan struktur atau boleh menjadi kaedah bebas. Kaedah struktur merujuk kepada fungsi yang berkaitan dengan struktur dan boleh digunakan untuk mengendalikan pembolehubah ahli struktur. Definisi kaedah struktur perlu menentukan penerima kaedah Penerima boleh menjadi jenis nilai atau jenis penunjuk. Contohnya:

type Person struct {
    Name string
    Age  int
}

func (p Person) SayHello() { // 值类型接收器
    fmt.Printf("Hello, my name is %s, I am %d years old.", p.Name, p.Age)
}

func (p *Person) ChangeAge(newAge int) { // 指针类型接收器
    p.Age = newAge
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan struktur Orang untuk mewakili maklumat asas seseorang, dan kemudian mentakrifkan dua kaedah: SayHello dan ChangeAge. Kaedah pertama, SayHello, menggunakan penerima jenis nilai untuk mengeluarkan rentetan ucapan; kaedah kedua, ChangeAge, menggunakan penerima jenis penunjuk untuk mengubah suai medan umur. Ia boleh dilihat bahawa menggunakan penerima penunjuk boleh dengan mudah mengubah suai pembolehubah anggota struktur.

5. Ringkasan

Artikel ini memperkenalkan struktur Golang secara terperinci, termasuk definisi, permulaan, anotasi, sarang dan kaedah struktur. Struct ialah salah satu jenis data yang sangat penting dalam pengaturcaraan berorientasikan objek Golang. Fleksibiliti dan kemudahannya menjadikan Golang lebih mudah dan cekap apabila membangunkan projek besar.

Atas ialah kandungan terperinci komen struktur golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan