猿问

Golang,Go:与返回接口映射?

http://golang.org/pkg/sort/


这是来自 Go 示例。


 // OrderedBy returns a Sorter that sorts using the less functions, in order.

// Call its Sort method to sort the data.

func OrderedBy(less ...lessFunc) *multiSorter {

    return &multiSorter{

        changes: changes,

        less:    less,

    }

}

冒号有什么作用?是映射吗?是封闭吗?这里的新语法太多了。我应该阅读什么来理解 Go 中的这种语法?


慕的地8271018
浏览 167回答 2
2回答

心有法竹

func 声明中的 `less ...lessFunc` 表示:any number of parameters, each of type `lessFunc` can be passed here, and will be stored in the slice `less`所以它创建了一个 `multiSorter` 结构体,它支持 sort 接口,并且从该接口调用 sort 方法(由 multiSorter 实现)将导致对象在排序时依次使用每个 lessFunc这有意义吗?如果需要,我可以扩展更多...
随时随地看视频慕课网APP

相关分类

Go
我要回答