var list = []func(*someType) error {
...
}
我是Go语言的新手,我试图了解语法的含义? 函数的返回值是数组吗?
答案 0 :(得分:5)
这将变量list
声明并初始化为slice,其元素是带有签名func(*someType) error
的函数。
Go中的切片是用于表示特定类型的数据序列的便捷机制。对于任何元素类型[]T
,它们的类型均为T
(但请记住,Go没有泛型)。切片仅由其包含的项目类型定义。它的长度不是其类型定义的一部分,并且可以在运行时更改。 (相比之下,Go中的数组是固定长度的-长度为[N]T
的元素类型为N
,元素类型为T
的元素。)
在表面下,一个切片由一个支持数组,一个当前数据的长度和一个容量组成。运行时管理数组的内存分配,以容纳片中的所有数据。
答案 1 :(得分:1)
func
是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) },
}