Rumah >pembangunan bahagian belakang >Golang >Klasifikasi dan fungsi jenis fungsi golang
Jenis fungsi dalam bahasa Go ialah jenis penuding fungsi, yang boleh dibahagikan kepada kategori berikut: Fungsi: jenis parameter jenis fungsi yang paling biasa dan jenis nilai pulangan: menentukan parameter fungsi dan parameter pembolehubah jenis nilai pulangan: membenarkan fungsi untuk menerima sebarang bilangan Parameter bernama nilai pulangan: Benarkan fungsi mempunyai berbilang nilai pulangan dengan nama
Jenis fungsi Golang dan kegunaannya
Dalam bahasa Go, jenis fungsi ialah jenis penuding fungsi. Ia membenarkan fungsi dihantar sebagai argumen kepada fungsi lain atau disimpan dalam pembolehubah. Berdasarkan tandatangan mereka, jenis fungsi dalam Go boleh dibahagikan kepada kategori berikut:
Func
Jenis fungsi paling umum tanpa parameter eksplisit atau nilai pulangan. Gunakan func()
untuk mentakrifkan. func()
定义。
参数类型 和 返回值类型
指定了函数参数和返回值类型。例如,func(int) string
指示一个函数接受一个 int
参数并返回一个 string
。
带有可变参数的类型
使用 ...
表示可变数量的参数。例如,func(...int)
指示一个函数接受任意数量的 int
参数。
带有命名返回值
使用命名返回值允许函数具有多个返回值,每个返回值有自己的名称。例如,func() (name string, age int)
Jenis parameter dan Jenis nilai pulangan
nyatakan parameter fungsi dan jenis nilai pulangan. Contohnya,func(int) string
menunjukkan bahawa fungsi menerima parameter int
dan mengembalikan string
. 🎜Jenis dengan parameter berubah🎜🎜🎜Gunakan func(...int)
menunjukkan bahawa fungsi menerima sebarang bilangan parameter int
. 🎜🎜🎜Dengan nilai pulangan bernama🎜🎜🎜Menggunakan nilai pulangan bernama membenarkan fungsi mempunyai berbilang nilai pulangan, setiap satu dengan namanya sendiri. Contohnya, func() (rentetan nama, int umur)
mengarahkan fungsi untuk mengembalikan tuple dengan nama dan umur. 🎜🎜🎜Contoh Praktikal: Membandingkan Jenis Fungsi🎜🎜🎜Atur cara berikut menunjukkan cara membandingkan jenis fungsi yang berbeza untuk kesamaan: 🎜package main import "fmt" // 定义比较函数 func Compare(x, y int) int { return x - y } // 定义拥有命名返回值的比较函数 func CompareNamed(x, y int) (int, string) { if x == y { return 0, "Equal" } else if x < y { return -1, "Less" } else { return 1, "Greater" } } func main() { // 比较函数类型是否相等(类型安全) fmt.Println(Compare == CompareNamed) // false // 比较函数值是否相等(类型不安全) fmt.Println(Compare == CompareNamed(0, 0)) // true }🎜Dalam output, kita melihat bahawa kesamaan jenis fungsi tertakluk kepada peraturan keselamatan jenis, manakala nilai fungsi Terdapat tiada sekatan sama ada mereka sama. 🎜
Atas ialah kandungan terperinci Klasifikasi dan fungsi jenis fungsi golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!