为了账号安全,请及时绑定邮箱和手机立即绑定

go 中的函数数组语法是什么意思?

go 中的函数数组语法是什么意思?

Go
三国纷争 2023-04-04 17:09:47
var list = []func(*someType) error {         ...     }我是 Go 的新手,我想了解语法的含义是什么?函数的返回值是数组吗?
查看完整描述

2 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

这将一个变量声明并初始化list为一个切片,其元素是具有签名的函数func(*someType) error

Go 中的切片是表示特定类型数据序列的便捷机制。它们具有[]T任何元素类型的类型T(但请记住 Go 没有泛型)。切片仅由它包含的项目的类型定义;它的长度不是其类型定义的一部分,可以在运行时更改。(相比之下,Go 中的数组具有固定长度——它们的类型是[N]T长度N和元素类型T)。

在表面之下,一个切片由一个支持数组、一个当前数据的长度和一个容量组成。运行时管理数组的内存分配以容纳切片中的所有数据。


查看完整回答
反对 回复 2023-04-04
?
白衣非少年

TA贡献1155条经验 获得超0个赞

func在 go 中是一种类型,例如int,string...


所以它们是示例语法:


var listInt := []int{1,2,3}

var listStr := []string{"1","2","3"}

var listFunc := []func(param anyType) anyType {

    func(param anyType) anyType { ... return new(anyType) },

    func(param anyType) anyType { ... return new(anyType) },

}


查看完整回答
反对 回复 2023-04-04
  • 2 回答
  • 0 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信