Bagaimana untuk membandingkan dua jenis fungsi di Golang?

WBOY
Lepaskan: 2024-04-21 08:24:02
asal
570 orang telah melayarinya

Perbandingan jenis fungsi Dalam bahasa Go, jenis fungsi boleh dibandingkan berdasarkan parameternya dan jenis nilai pulangan. Dua jenis fungsi adalah sama jika tandatangan mereka adalah sama, sebaliknya, mereka tidak sama.

如何在 Golang 中比较两个函数类型?

Perbandingan jenis fungsi dalam Go

Dalam Go, jenis fungsi ialah jenis khas yang mewakili tandatangan fungsi. Ia terdiri daripada jenis parameter input dan jenis parameter output fungsi. Jenis fungsi boleh dibandingkan seperti jenis lain.

Syntax

func(x int) int
func(x string) string
Salin selepas log masuk

Dua jenis fungsi ini mempunyai jenis parameter input yang berbeza, jadi ia adalah jenis yang berbeza.

Contoh Praktikal

Mari kita pertimbangkan dua fungsi berikut:

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

func Subtract(x, y int) int {
  return x - y
}
Salin selepas log masuk

Tandatangan kedua-dua fungsi ini adalah sama, jadi ia adalah jenis yang sama.

Membandingkan jenis fungsi

Untuk membandingkan dua jenis fungsi, anda boleh menggunakan operator == dan !=. Jenis fungsi adalah sama jika tandatangan mereka adalah sama. Jika tidak, mereka tidak sama. ==!= 运算符。如果函数类型的签名相同,则它们相等。否则,它们不相等。

以下代码比较两个函数类型的相等性:

func main() {
  addType := func(x, y int) int { return x + y }
  subType := func(x, y int) int { return x - y }

  if addType == subType {
    fmt.Println("函数类型相等")
  } else {
    fmt.Println("函数类型不相等")
  }
}
Salin selepas log masuk

这段代码将打印以下输出:

函数类型不相等
Salin selepas log masuk

结论

函数类型在 Go 中可以像其他类型一样被比较。使用 ==!=

Kod berikut membandingkan dua jenis fungsi untuk kesaksamaan: 🎜rrreee🎜Kod ini akan mencetak output berikut: 🎜rrreee🎜Kesimpulan🎜🎜Jenis fungsi boleh dibandingkan seperti jenis lain dalam Go. Jenis fungsi boleh dibandingkan untuk kesaksamaan menggunakan operator == dan !=. 🎜

Atas ialah kandungan terperinci Bagaimana untuk membandingkan dua jenis fungsi di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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