Rumah > pembangunan bahagian belakang > Golang > kaedah fungsi golang

kaedah fungsi golang

WBOY
Lepaskan: 2023-05-16 12:08:39
asal
465 orang telah melayarinya

Golang ialah salah satu bahasa pengaturcaraan yang paling popular pada masa ini. Salah satu cirinya ialah reka bentuk fungsi dan kaedah yang sangat baik. Artikel ini akan memperkenalkan pengetahuan berkaitan fungsi dan kaedah Golang secara terperinci.

1. Fungsi

Sintaks asas fungsi Golang:

func function_name( [parameter list] ) [return_types] {
   //函数体
}
Salin selepas log masuk

Senarai parameter fungsi dan jenis nilai pulangannya adalah pilihan dan tidak perlu ditulis. Jika fungsi hanya mempunyai satu nilai pulangan dan jenisnya ialah jenis bukan antara muka, kurungan boleh diabaikan.

Contohnya:

func add(x int, y int) int {
   return x + y
}

func main() {
   fmt.Println(add(1, 2))
}
Salin selepas log masuk

Fungsi tambah menerima dua parameter jenis int, dan jenis nilai pulangan juga adalah int Fungsi dipanggil melalui ungkapan tambah(1, 2) dannya nilai pulangan adalah output. Keluaran ialah 3.

Fungsi Golang menyokong berbilang nilai pulangan. Contohnya:

func swap(x, y string) (string, string) {
   return y, x
}

func main() {
   a, b := swap("hello", "world")
   fmt.Println(a, b)
}
Salin selepas log masuk

Fungsi swap menerima dua parameter jenis rentetan, dan jenis nilai pulangan ialah dua jenis rentetan, iaitu nilai pulangan ialah dua rentetan, melalui berbilang tugasan a, b := swap(" hello" , "world") menetapkan nilai pulangan fungsi masing-masing kepada a dan b, dan akhirnya mengeluarkan hello world.

2. Kaedah

Dalam bahasa Golang, kaedah merujuk kepada fungsi pada jenis penerima tertentu, iaitu kelas. Jenis ini boleh menjadi struct atau mana-mana jenis tersuai.

Format definisi kaedah adalah seperti berikut:

func (variable_name type) function_name([parameter list]) [return_types] {
    //函数体  
}
Salin selepas log masuk

di mana variable_name ialah contoh jenis dan function_name ialah kaedah jenis.

Contohnya:

type Rectangle struct {
   length, width int
}

func (r Rectangle) area() int {
   return r.length * r.width
}

func main() {
   r := Rectangle{length: 10, width: 5}
   fmt.Println("area: ", r.area())
}
Salin selepas log masuk

Kod di atas mentakrifkan jenis Rectangle, yang mempunyai dua medan: panjang dan lebar, dan juga mentakrifkan kawasan kaedah(), jadi ia adalah kelas. Dalam pengisytiharan kaedah, penerima adalah jenis Rectangle, kaedah dinamakan area(), dan nilai pulangan adalah jenis int.

Pernyataan berikut menguji kelas ini dengan mencipta contoh Rectangle bernama r dan memanggil kaedah kawasan()nya. Output pelaksanaan

ialah:

area: 50
Salin selepas log masuk

Kaedah ini juga boleh mempunyai penerima penunjuk, yang merupakan penunjuk kepada jenis. Contohnya:

type Circle struct {
   radius float64
}

func (c *Circle) area() float64 {
   return math.Pi * c.radius * c.radius
}

func main() {
   c := Circle{radius: 5}
   fmt.Println("area:", c.area())
}
Salin selepas log masuk

Kod di atas mentakrifkan jenis Bulatan, yang mempunyai jejari medan Ia juga mentakrifkan kawasan kaedah() dan menunjuk kepada jenis melalui penerima penunjuk. Oleh itu, kaedah kawasan() akan menukar nilai pada contoh Bulatan.

Akhir sekali, kita perlu ambil perhatian bahawa semua jenis dalam Golang boleh mempunyai kaedah melainkan ia ditandakan secara eksplisit sebagai jenis salinan (penerima). Walau bagaimanapun, dalam beberapa kes, terutamanya dalam industri berprestasi tinggi, adalah lebih cekap prestasi untuk menggunakan penerima penunjuk. Walau bagaimanapun, anda perlu ingat peraturan ini kerana jika anda secara tidak sengaja menulis kaedah yang salah, ia akan menyebabkan ralat dalam program anda.

3. Ringkasan

Dalam bahasa Golang, fungsi dan kaedah (kelas) ialah unit pengaturcaraan asas. Dengan mempelajari struktur tatabahasa fungsi, kita boleh mentakrifkan dan memanggil fungsi dengan mudah, menjadikan struktur program lebih jelas dan ringkas. Pada masa yang sama, kaedah dibina ke dalam kelas dan merupakan sebahagian daripada kelas, jadi ia merangkum pembolehubah contoh dan kaedah dalam kelas. Dengan cara ini, kita boleh menguruskan pelbagai maklumat dan kaedah program dengan lebih mudah, dan mengelakkan pembaziran sumber.

Atas ialah kandungan terperinci kaedah fungsi 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