golang函数的匿名函数
作者:Jason
时间:2024-04-30
来源:互联网
浏览:0
Go语言匿名函数可无需声明函数名称,用于创建一次性使用的函数或更大函数的一部分。其语法为func(){//函数体},可接受参数和返回结果。实战案例包括排序切片(通过sort.Slice函数和匿名函数按特定属性排序)和过滤数据(通过filter函数和匿名函数过滤奇数)。
Go 语言匿名函数可无需声明函数名称,用于创建一次性使用的函数或更大函数的一部分。其语法为 func() { // 函数体 },可接受参数和返回结果。实战案例包括排序切片(通过 sort.Slice 函数和匿名函数按特定属性排序)和过滤数据(通过 filter 函数和匿名函数过滤奇数)。

Go 语言中的匿名函数
匿名函数是 Go 语言中无需声明函数名称的函数。它们通常用于快速创建一次性使用的函数或作为更大函数的一部分。
语法
func() {
// 函数体
}匿名函数可以接受参数和返回结果,就像普通函数一样:
func(x int) int {
return x * x
}实战案例
排序切片
我们可以在 sort.Slice 函数中使用匿名函数来根据切片元素的特定属性进行排序:
package main
import (
"fmt"
"sort"
)
type Person struct {
Name string
Age int
}
func main() {
people := []Person{
{"John", 25},
{"Mary", 30},
{"Bob", 20},
}
// 根据 age 排序
sort.Slice(people, func(i, j int) bool {
return people[i].Age < people[j].Age
})
fmt.Println(people)
}过滤数据
我们还可以使用匿名函数来过滤数据:
package main
import "fmt"
func main() {
nums := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
// 过滤奇数
oddNums := filter(nums, func(x int) bool {
return x % 2 != 0
})
fmt.Println(oddNums)
}
func filter(arr []int, f func(int) bool) []int {
result := []int{}
for _, v := range arr {
if f(v) {
result = append(result, v)
}
}
return result
}
作者最新文章
PDF转PPT在线教程:极轻PDF转换步骤与背景音乐添加指南
2026-09-02 18:58
红米RedmiNote13字体大小如何设置 红米RedmiNote13字体大小设置方法
2026-08-25 15:12
vivo Z5(6GB/128GB/全网通)忘了手机密码怎么办?
2026-08-25 14:07
老用户159元套餐不及新用户39元划算,媒体:通信行业提质升级仍在路上
2026-08-25 12:21
2026 最好用的 ORM 框架:xbatis 1.9.7 正式发布,基于 mybatis 的 ORM 框架
2026-08-25 10:29
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















