美文网首页
递归切片

递归切片

作者: funcx | 来源:发表于2019-04-20 21:31 被阅读0次
package main

import (
    "encoding/json"
    "log"
    "reflect"
)

func main() {
    reversePrint([]interface{}{"1", 2, "a", []string{"haha", "88"}, 1.1})
}

// 不使用for循环逆序输出数组,数组中可存放数组类型或值类型,遇值类型直接输出,遇数组类型拆解开到外层逆输输出.
// 如[]interface{}{"1", 2, "a", []string{"haha", "88"}, 1.1} 输出:1.1,"88","haha","a",2,"1"
func reversePrint(xs []interface{}) {
    if len(xs) == 0 {
        return
    }
    reversePrint(xs[1:])
    v := xs[0]
    t := reflect.TypeOf(v)
    switch t.Kind() {
    case reflect.Slice:
        vi := reflect.ValueOf(v)
        vd := make([]interface{}, vi.Len())
        for i := 0; i < vi.Len(); i++ {
            vd[i] = vi.Index(i)
        }
        reversePrint(vd)
    default:
        log.Println(v)
    }
}

相关文章

  • 递归切片

  • Python基础知识详解

    函数可变参数 函数关键字参数 命名关键字参数 递归函数 尾递归函数优化 切片 迭代 列表迭代:字典迭代: 在这里小...

  • python实现字符串的倒序(五种)

    一、使用python的特性,切片 二、 使用列表 三、使用循环 四、使用库collections 五、使用递归

  • Python那些相见恨晚的语法

    1.列表推导式 2.切片 3.生成器(斐波拉契数列) 4.递归(递归虽然运行效率比较低,但在对一些树形结构进行运算...

  • Python 利用切片操作,去除字符串首尾的空格

    本文是廖雪峰Python教学切片章节的课后习题;原题目是: 本题实现思路是递归:trim(str)抽象意义就是移除...

  • python 10天快速教程 Day4

    本节重点 递归函数 匿名函数 python内置函数 切片 列表生成式 内存地址 可变类型与不可变类型详解 公共运算...

  • 2019-05-21LeetCode 46.全排列

    借鉴 上面的思路是递归的思路,下面是采用回溯的思路,将结果作为参数传递下去 由于别的语言没有切片这么方便的操作,所...

  • 15.Go_Slice(切片)

    Go 切片 定义切片 切片初始化 len()和cap()函数 空(nil)切片 切片拦截 append() 和co...

  • js大文件断点续传

    以1G的电影为例,断点续传功能的思路是:1、前端将电影切成1024份小片,每份大小是1m2、前端将切片文件进行递归...

  • 二叉树遍历

    先序遍历——[递归、非递归] 中序遍历——[递归、非递归] 后序遍历——[递归、非递归] 层次遍历——[递归、非递归]

网友评论

      本文标题:递归切片

      本文链接:https://www.haomeiwen.com/subject/kqhrgqtx.html