Rumah >pembangunan bahagian belakang >Golang >Apakah Maksud Notasi \'(Versi)\' Selepas Nama Fungsi dalam Go?

Apakah Maksud Notasi \'(Versi)\' Selepas Nama Fungsi dalam Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-30 00:59:02793semak imbas

What Does the

Kurung Fungsi dalam Go: Memahami Notasi (Versi v)

Sebagai pendatang baharu Go, anda mungkin pernah menemui kod di mana tanda kurung mengikuti serta-merta selepas nama fungsi. Ini boleh mengelirukan, terutamanya apabila anda cuba membezakan antara fungsi dan kaedah.

Dalam Go, kurungan selepas nama fungsi menunjukkan bahawa fungsi itu sebenarnya kaedah. Mari kita mendalami maksud ini:

Kaedah: Fungsi yang Dilampirkan pada Jenis

Kaedah ialah fungsi yang beroperasi pada jenis data tertentu. Dalam contoh yang anda berikan:

func (v Version) MarshalJSON() ([]byte, error) {
  return json.Marshal(v.String())
}

Versi (v) sebelum fungsi MarshalJSON menunjukkan bahawa ia adalah kaedah yang dilampirkan pada jenis Versi. V mewakili penerima untuk kaedah, yang dalam kes ini ialah nilai jenis Versi.

Fungsi vs. Kaedah: Perbezaan dan Penggunaan

Fungsi dalam Go beroperasi secara bebas dan boleh dipanggil tanpa sebarang konteks khusus. Kaedah, sebaliknya, terikat pada jenis data yang ditakrifkan dan hanya boleh dipanggil pada tika jenis itu.

Sebagai contoh, berikut ialah fungsi yang mengira luas segi empat tepat :

func RectangleArea(length float64, width float64) float64 {
  return length * width
}

Anda boleh memanggil fungsi ini seperti berikut:

area := RectangleArea(5.0, 10.0)

Walau bagaimanapun, jika anda mempunyai jenis Rectangle dengan medan untuk panjang dan lebar, anda boleh menentukan kaedah padanya untuk kira luas:

type Rectangle struct {
  Length float64
  Width float64
}

func (r *Rectangle) Area() float64 {
  return r.Length * r.Width
}

Sekarang, anda boleh memanggil kaedah Kawasan pada mana-mana contoh Segiempat, seperti ini:

rectangle := Rectangle{5.0, 10.0}
area := rectangle.Area()

Dengan memahami perbezaan antara fungsi dan kaedah, anda boleh dengan berkesan gunakan kurungan selepas nama fungsi untuk mencipta dan menggunakan kaedah dalam Go.

Atas ialah kandungan terperinci Apakah Maksud Notasi \'(Versi)\' Selepas Nama Fungsi 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