登录
首页 >  Golang >  Go问答

如何在接口声明中添加数组支持?

来源:stackoverflow

时间:2024-03-04 21:15:26 295浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《如何在接口声明中添加数组支持?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我有这个函数声明,我想要返回接口数组。

传播(1,2,3) => [4,5,6]。

我还搜索了任何地方,如 play.golangother stackoverflow go tags 但没有找到

func spread2(a ...interface{}) []interface{} {
        a:=[]int{4,5,6}
        return []interface{}{a}//[[4,5,6]] NO

        return []interface{}{a...} //[4,5,6] YES,i want this; 
                                   //but got error
}

我得到的错误是: 语法错误:意外...,需要逗号或 }


解决方案


就我而言,[]interface{} 输入输出相同。
所以只要返回任何东西作为数组就可以了

例如,

package main

import (
    "fmt"
)

func spread(a ...interface{}) []interface{} {
    return a
}

func main() {
    fmt.println(spread(1, 2, 3))
}

演示:https://play.golang.org/p/Bqgu_A1BCti

输出:

[1 2 3]

优化编译器可能会内联 spread 函数。

今天关于《如何在接口声明中添加数组支持?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>