登录
首页 >  Golang >  Go问答

向 Golang 界面添加界面元素

来源:stackoverflow

时间:2024-02-25 21:33:27 188浏览 收藏

今天golang学习网给大家带来了《向 Golang 界面添加界面元素》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

问题内容

我有一个接受所有类型的结构作为接口的函数。如果我尝试打印

s.index(i)

它给了我价值观。但是一旦我将其附加到

allrows []接口{}

并打印出来。我得到的是传递给函数的结构类型,而不是值。 举个例子。

fmt.println("所有行",所有行) [ ]

func pagination(c *gin.Context, st interface{})  {
            var allRows []interface{}
            switch reflect.TypeOf(st).Kind() {
            case reflect.Slice:
                s := reflect.ValueOf(st)
                for i := 0; i < s.Len(); i++ {
                    allRows=append(allRows,s.Index(i))
                    fmt.Println(allRows)
                }
            }
        
            fmt.Println("AllRows",allRows)

正确答案


表达式 s.index(i) 计算结果为包含实际切片元素的 reflect.value。调用Value.Interface()获取实际的切片元素。

var allRows []interface{}
        switch reflect.TypeOf(st).Kind() {
        case reflect.Slice:
            s := reflect.ValueOf(st)
            for i := 0; i < s.Len(); i++ {
                allRows=append(allRows,s.Index(i).Interface())
                fmt.Println(allRows)
            }
        }

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

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