猿问

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

var list = []func(*someType) error {
        ...
    }

我是 Go 的新手,我想了解语法的含义是什么?函数的返回值是数组吗?


三国纷争
浏览 120回答 2
2回答

海绵宝宝撒

这将一个变量声明并初始化list为一个切片,其元素是具有签名的函数func(*someType) error。Go 中的切片是表示特定类型数据序列的便捷机制。它们具有[]T任何元素类型的类型T(但请记住 Go 没有泛型)。切片仅由它包含的项目的类型定义;它的长度不是其类型定义的一部分,可以在运行时更改。(相比之下,Go 中的数组具有固定长度——它们的类型是[N]T长度N和元素类型T)。在表面之下,一个切片由一个支持数组、一个当前数据的长度和一个容量组成。运行时管理数组的内存分配以容纳切片中的所有数据。

白衣非少年

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) },}
随时随地看视频慕课网APP

相关分类

Go
我要回答