golang tidak mempunyai anotasi

PHPz
Lepaskan: 2023-04-06 09:12:17
asal
128 orang telah melayarinya

Memandangkan Golang secara beransur-ansur menjadi bahasa pengaturcaraan arus perdana, sesetengah orang mungkin bertanya: Golang tidak mempunyai anotasi, apakah kesannya terhadap pengekodan?

Bagi pengaturcara yang baru mula menggunakan Golang, mereka mungkin merasakan kekurangan anotasi dalam Golang adalah satu kelemahan yang serius, tetapi sebenarnya, dalam kes ini, peranan anotasi telah digantikan dengan beberapa ciri tatabahasa.

Perbezaan antara anotasi dan anotasi

Mula-mula, mari kita jelaskan perbezaan antara anotasi dan anotasi.

Komen ialah baris yang digunakan untuk menerangkan atau mengulas dalam kod program, baris ini tidak akan dihuraikan dan dilaksanakan oleh pengkompil. Dalam erti kata lain, komen adalah untuk pengaturcara memahami kod, bukan untuk komputer memahami kod.

Anotasi ialah ciri bahasa khas yang biasa dalam beberapa bahasa lain seperti Java dan C#. Anotasi membenarkan pembangun menambah metamaklumat tambahan pada kod sumber dan digunakan oleh rangka kerja atau alatan pada masa jalan atau masa penyusunan.

Di Golang, tiada anotasi sebenar, tetapi terdapat beberapa ciri sintaks yang mencapai matlamat yang sama.

Ciri sintaks yang menggantikan anotasi dalam Golang

  1. Teg struktur

Struktur dalam Golang mempunyai ciri yang sangat berguna: anda boleh menambahkan "tanda". Tag ialah rentetan ringkas yang menerangkan struktur tanpa mengganggu takrifan struktur itu sendiri. Ini berguna untuk struct dalam rangka kerja dan perpustakaan.

Sebagai contoh, mari lihat kod dalam pustaka pihak ketiga:

<code>type Model struct {
    ID        uint
    CreatedAt time.Time
    UpdatedAt time.Time
    DeletedAt *time.Time `sql:"index"`
}</code>
Salin selepas log masuk

Kami menambahkan tag sql:"index" pada tarikh yang dipadamkan, yang akan memberitahu perpustakaan SQL untuk mewakili medan ini ialah indeks dalam pangkalan data. Teg ini bertujuan untuk digunakan oleh rangka kerja dan perpustakaan, dan hanya menambah sekeping metadata yang sangat berguna.

  1. Pemalar khas

Pemalar ialah nilai yang serupa dengan pembolehubah, tetapi tidak boleh diubah. Pemalar khas di Golang ialah pemalar yang boleh diproses khas pada masa penyusunan. Pemalar ini boleh ditambah pada atur cara untuk tujuan khas seperti penanda peristiwa dan ralat. Berikut ialah contoh pelaksanaan menggunakan Iota dan penghitungan:

<code>package main

import "fmt"

const (
    Unknown = iota
    Female = iota
    Male = iota
)

func main() {
    fmt.Printf("Unknown: %d, Female: %d, Male: %d", Unknown, Female, Male)
}</code>
Salin selepas log masuk

Blok kod ini menggunakan iota sebagai nilai pemalar peningkatan automatik, yang kami panggil "jenis penghitungan". Nilai malar di sini digunakan terutamanya untuk elemen set terhad, seperti jantina, "tidak diketahui, lelaki, perempuan", dll.

  1. Komen terbina dalam

Golang menyediakan beberapa ulasan terbina dalam yang digunakan sebagai alatan untuk kerja kolaboratif. Komen ini biasanya wujud dalam format khas dan boleh digunakan oleh IDE. Berikut ialah beberapa ulasan yang biasa digunakan dalam Golang:

  • // TODO: membayangkan kerja yang belum selesai dalam kod.
  • // BUG: Menunjukkan pepijat yang wujud dalam program Terdapat format yang boleh dicari dan diagregatkan.
  • // FIXME: Menunjukkan bahawa terdapat pepijat yang diketahui, tetapi belum ada masa untuk menyelesaikannya.
  • // CODEGEN: Teg yang digunakan untuk menjana kod dan bukannya kod tulisan tangan.

Komen ini berbeza daripada anotasi kerana ia tidak ditukar kepada kod boleh laku semasa masa jalan.

Anotasi bagus, tetapi ia tidak boleh digunakan secara berlebihan

Walaupun anotasi merupakan ciri yang sangat penting, bukan idea yang baik untuk menambahkannya sewenang-wenangnya semasa mengekod. Kerana jika digunakan secara berlebihan, anotasi ini boleh membuat kod berterabur dan sukar untuk dikekalkan. Selain itu, kod yang dijana pada masa penyusunan mungkin kelihatan lebih mengelirukan dan mungkin mempunyai kesan sampingan yang tidak diingini.

Oleh itu, Golang menggunakan kaedah yang lebih intuitif dan ringkas untuk menambah metadata. Walaupun tiada anotasi sebenar, kaedah ini cukup untuk memenuhi keperluan kebanyakan pengaturcara.

Atas ialah kandungan terperinci golang tidak mempunyai anotasi. 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