如何优雅地将数组的一部分复制到或插入另一个数组

the_real_one:

我有以下有效的代码,但这里的要点是,我想将任意长度的一个数组插入或插入另一个扩展其长度的静态大小的数组中:

package main

import (
    "fmt"
)

func main() {
    ffmpegArguments := []string{
        "-y",
        "-i", "invideo",
        // ffmpegAudioArguments...,
        "-c:v", "copy",
        "-strict", "experimental",
        "outvideo",
    }

    var outputArguments [12]string
    copy(outputArguments[0:3], ffmpegArguments[0:3])
    copy(outputArguments[3:7], []string{"-i", "inaudio", "-c:a", "aac"})
    copy(outputArguments[7:12], ffmpegArguments[3:8])

    fmt.Printf("%#v\n", ffmpegArguments)
    fmt.Printf("%#v\n", outputArguments)
}

https://play.golang.org/p/peQXkOpheK4

the_real_one:

我最终通过首先制作数组副本来修改@Alirus的答案,因为看起来第一个赋值指向haystack数组,随后的步骤修改了该haystack切片:

// arrayInject is a helper function written by Alirus on StackOverflow in my
// inquiry to find a way to inject one array into another _elegantly_:
// https://stackoverflow.com/a/53647212/776896
func arrayInject(haystack, pile []string, at int) (result []string) {
	result = make([]string, len(haystack[:at]))
	copy(result, haystack[:at])
	result = append(result, pile...)
	result = append(result, haystack[at:]...)

	return result
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将numpy数组复制到另一个数组的一部分

numpy blit(将数组的一部分复制到另一个具有不同大小的数组)

将字符串的一部分复制到另一个字符串

将数组复制到NumPy中另一个数组的一部分

检查一个javascript数组是否包含另一个数组的所有元素或元素值的一部分

在C ++ API中将一个张量的一部分复制到另一个张量中

Gradle-将jar复制到另一个文件夹,作为“ jar”任务的一部分

XML数组:将一个数组作为另一部分插入另一个数组

根据文件名的一部分将文件复制到另一个目录

尝试将数组的一部分替换为另一个数组,出现错误ValueError:分配目标为只读

将存储在char数组中的字符串部分复制到另一个数组

如何将线的一部分复制到另一个位置

将QTableWidget的一部分复制到另一个

如何将数组值复制到另一个数组

如何在Matlab中将数组的一部分存储到另一个数组?

PHP检查是否另一个数组的一部分

以最pythonic的方式将列表列表复制到另一个列表的一部分中

使用迭代器将文件的一部分复制到另一个文件

如何在Matlab中计算2个数组(一个是另一个的一部分)中值出现的次数?

如何将一个字符串快速复制到另一个字符串的一部分中?

Mercurial(hg)将存储库的一部分复制到另一个存储库

如何使用某种逻辑将数组复制到另一个数组

如何将数组的一部分复制到新数组。C#

如何将一个数组的元素复制到另一个数组

如何将图像从一个织物画布复制到另一个大织物画布的一部分?

将队列的一部分复制到另一个队列,甚至从队列复制到数组

将数据帧的一部分复制到另一个数据帧中

如何循环 JSON 数据并将其一部分放入另一个数组中?

如何将一个数组中的部分内容复制到另一个数组?