Rumah >pembangunan bahagian belakang >Golang >Apakah yang Diisytiharkan `type PublicKey []bait` dalam Go?

Apakah yang Diisytiharkan `type PublicKey []bait` dalam Go?

Barbara Streisand
Barbara Streisandasal
2024-11-30 05:10:16116semak imbas

What Does `type PublicKey []byte` Declare in Go?

Memahami Jenis Pengisytiharan dalam Go

Belajar Pergi dari latar belakang .NET, seseorang mungkin menghadapi pengisytiharan jenis yang tidak dikenali. Pertimbangkan coretan kod ini:

// PublicKey is the type of Ed25519 public keys.
type PublicKey []byte

Apakah yang dimaksudkan dengan pengisytiharan ini?

Bertentangan dengan warisan, Go menggunakan definisi jenis untuk mencipta jenis baharu dengan jenis asas yang dikongsi. Menentukan jenis seperti ini membolehkan pembangun:

  • Menggunakan pengecam tersuai untuk meningkatkan kebolehbacaan kod.
  • Mentakrifkan kaedah khusus untuk jenis baharu.

Walaupun kedua-dua jenis dan fungsi baharu boleh digunakan untuk operasi khusus jenis, hanya jenis dengan kaedah boleh melaksanakan antara muka, seperti sort.Antara muka digunakan untuk mengisih nilai.

Oleh itu, pengisytiharan di atas mencipta jenis tersuai, PublicKey, dengan jenis asas []bait, membolehkan kaedah dilampirkan padanya. Contohnya, jenis jenis.IntSlice ditakrifkan untuk mengisih hirisan integer, membenarkan untuk mengisih nilai jenis []int.

Perbezaan Utama daripada Warisan

Tidak seperti warisan , mencipta jenis baharu dalam Go tidak mewarisi kaedah atau mempunyai hubungan ibu bapa-anak. Untuk mencapai kefungsian yang serupa, pembenaman (jenis struct) harus dipertimbangkan, apabila kaedah jenis terbenam tersedia untuk jenis pembenaman.

Atas ialah kandungan terperinci Apakah yang Diisytiharkan `type PublicKey []bait` dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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