Rumah  >  Artikel  >  pembangunan bahagian belakang  >  kaedah sambungan golang

kaedah sambungan golang

WBOY
WBOYasal
2023-05-27 11:23:07532semak imbas

Dalam beberapa tahun kebelakangan ini, Golang telah menjadi bahasa pengaturcaraan yang popular dalam bidang pembangunan Internet. Ia digunakan secara meluas dalam syarikat Internet besar dan syarikat permulaan. Walau bagaimanapun, bahasa ini juga mempunyai beberapa batasan, salah satunya ialah kaedah tidak boleh ditakrifkan pada jenis luaran, iaitu jenis sedia ada tidak boleh dipanjangkan. Artikel ini akan meneroka cara menggunakan beberapa teknik untuk mengikat kaedah kepada jenis sedia ada untuk mengembangkan kefungsian Golang.

Kaedah sambungan merujuk kepada mentakrifkan kaedah baharu untuk jenis ini mungkin jenis terbina dalam Golang sendiri (seperti int, rentetan, dll.) atau jenis yang ditentukan pengguna. Dokumentasi rasmi Golang menetapkan kaedah tidak boleh ditakrifkan pada jenis luaran, iaitu jenis sedia ada tidak boleh dilanjutkan. Walau bagaimanapun, itu tidak bermakna kita tidak boleh melanjutkan jenis ini. Dalam Golang, beberapa ciri bahasa boleh membantu kami mengikat kaedah kepada jenis yang ditentukan Ciri ini termasuk pembenaman struktur, definisi antara muka, jenis alias, dsb.

Pembenaman struktur

Pembenaman struktur ialah cara ringkas untuk mengikat kaedah pada jenis sedia ada. Struktur di Golang boleh mengandungi satu atau lebih medan, dan jenis struktur lain boleh dimasukkan ke dalam struktur sebagai medan. Kemasukan ini dipanggil pembenaman, dan medan jenis terbenam boleh diakses sama seperti medan struktur lanjutan itu sendiri. Kita boleh menggunakan pembenaman struktur untuk melanjutkan jenis sedia ada. Kod berikut menunjukkan cara melanjutkan kaedah untuk jenis int dengan membenamkan struktur:

type MyInt int

func (i MyInt) Double() int {
    return int(i * 2)
}

type DoubleInt struct {
    MyInt
}

func main() {
    i := DoubleInt{2}
    fmt.Println(i.Double())
}

Dalam contoh ini, kami mentakrifkan jenis MyInt baharu dan mengikat kaedah Double padanya. Kemudian kami menentukan struktur DoubleInt, yang mengandungi jenis MyInt, yang merupakan lanjutan MyInt. Akhir sekali, kita boleh memanggil kaedah Double melalui contoh DoubleInt, merealisasikan lanjutan jenis int.

Takrifan antara muka

Takrifan antara muka juga merupakan cara biasa untuk mengikat kaedah kepada jenis sedia ada. Di Golang, selagi mana-mana jenis melaksanakan semua kaedah dalam antara muka, ia boleh dianggap sebagai melaksanakan antara muka, dan dengan itu boleh digunakan sebagai objek antara muka dan mengambil bahagian dalam panggilan fungsi ke antara muka. Kita boleh menggunakan mekanisme ini untuk mengikat kaedah kepada jenis sedia ada. Berikut ialah contoh kod:

type MyInt int

type Double interface {
    Double() int
}

func (i MyInt) Double() int {
    return int(i * 2)
}

func main() {
    var i Double = MyInt(2)
    fmt.Println(i.Double())
}

Dalam contoh ini, kami mentakrifkan jenis MyInt baharu dan mengikat kaedah Double padanya. Seterusnya, kami mentakrifkan antara muka Double, yang memerlukan pelaksanaan kaedah Double. Akhir sekali, kami menukar jenis MyInt kepada jenis antara muka Double dan memanggil kaedah Double untuk melaksanakan lanjutan jenis int.

Type alias

Type alias juga boleh digunakan untuk mengikat kaedah kepada jenis sedia ada. Jenis aliasing dalam Golang merujuk kepada nama jenis baharu yang diberikan kepada jenis sedia ada. Alias ​​jenis sering digunakan untuk memudahkan sintaks pengisytiharan berubah. Kita boleh mencipta alias jenis dan menentukan kaedah baharu berdasarkannya. Berikut ialah contoh kod:

type MyInt int

func (i MyInt) Double() int {
    return int(i * 2)
}

type DoubleInt = MyInt

func (i DoubleInt) Triple() int {
    return int(i * 3)
}

func main() {
    i := DoubleInt(2)
    fmt.Println(i.Double())
    fmt.Println(i.Triple())
}

Dalam contoh ini, kami mentakrifkan jenis MyInt baharu dan mengikat kaedah Double padanya. Seterusnya, kami menentukan jenis alias DoubleInt dan mengikat kaedah Triple kepadanya. Akhir sekali, kami mentakrifkan pembolehubah i jenis DoubleInt dan memanggil kaedah Double dan Triple masing-masing, merealisasikan lanjutan jenis int.

Ringkasnya, tiga kaedah di atas boleh digunakan untuk mengikat kaedah kepada jenis sedia ada di Golang, dengan itu mengembangkan fungsinya. Antara kaedah ini, pembenaman struktur adalah yang paling biasa kerana ia mudah dan mudah difahami. Takrifan antara muka dan jenis alias memerlukan beberapa sintaks tambahan untuk menjadikannya berkesan. Perlu diingat bahawa tidak kira kaedah mana yang digunakan, pengubahsuaian jenis asal dengan kaedah baharu yang diperluaskan hanyalah perubahan cetek dan tidak akan menjejaskan tingkah laku penting jenis asal, jadi anda perlu berhati-hati apabila menggunakannya.

Atas ialah kandungan terperinci kaedah sambungan golang. 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
Artikel sebelumnya:alias kaedah golangArtikel seterusnya:alias kaedah golang