当前位置: 首页 > 面试题库 >

如何将一个切片的内容复制到另一个切片中

司宏伯
2023-03-14
问题内容

我在做下面的运动。

创建一个包含四个元素的切片。 创建一个新切片,并将第三个和第四个元素仅复制到其中。

我已经返回了以下程序

    package main

    import "fmt"

    func main() {
        var elements = make([]string, 4)
        elements[0] = "1"
        elements[1] = "2"
        elements[2] = "3"
        elements[3] = "4"
        fmt.Println(elements)

        var newElements = make([]string, 2)
        newElements = append(elements[:0], elements[:2]...)
        fmt.Println(newElements)
    }

程序的输出是。但我希望newElements切片为[3 4]-

[1 2 3 4]
[1 2]

我的程序出了什么问题。


问题答案:

使用内置的复制功能将元素从一个切片复制到另一个切片。

var newElements = make([]string, 2)
copy(newElements, elements[2:])

在操场上跑

您可以使用append创建切片并在单个语句中复制元素,但是代码并不像使用copy那样明显。

newElements := append([]string(nil), elements[2:4]...)

在操场上跑。



 类似资料:
  • 我想把一个切片的末尾写到同一个切片的顶部。 我见过如何在锈菌阵列的两个可变切片上操作 我希望获得尽可能高的性能(例如,通过使用)。

  • 问题内容: 我有3个级别的MultiIndex的熊猫数据框。我试图根据与两个级别相对应的值列表来提取此数据框的行。 我有这样的事情: 现在,我要获取索引级别为“ b”和“ c”的所有行: 即值的具有或在水平和分别为:。 所以我想在第一级上学习一个,并在第二级和第三级上提取特定的元组。 最初,我认为将多索引对象传递给.loc会拉出我想要的值/级别,但这是行不通的。做这样的事情的最好方法是什么? 问题

  • 问题内容: 我有一些数据结构,我想将其中一个用作临时结构,将另一个用作非临时结构。 现在的问题当然是实际上只是指向,因此一旦清除,也是如此。 如何在使用Java时保留值? 问题答案: 您可以使用以下技巧: 或使用 您可以在此处获取有关clone()方法的一些信息 但是您应该记住,所有这些方式都会给您 List 的副本,而不是其所有元素。因此,如果您更改复制的列表中的元素之一,则它也将在原始列表中进

  • 在FragmentOne.class扩展android.support.v4.app.

  • 问题内容: 我在不同的程序包中有几个Pojo,每个POJO包含同一程序包中另一个Pojo的集合。我需要将所有具有相同名称的项目从Package B Pojos复制到Package A中的对象。 极端: 我想递归地将所有项目从类复制到存在且共享相同名称的类。 更新: 伙计们,我知道这是一个愚蠢的问题,但是我需要维护此代码,现在编写代码时,他们必须调用50个getter和setter或使用50个参数调

  • 我需要在Go中复制一个切片,并读取文档。有一个复制功能可供我使用。 copy内置函数将元素从源片复制到目标片。(作为一种特殊情况,它还会将字节从字符串复制到字节片。)源和目标可能重叠。Copy返回复制的元素数,它是len(src)和len(dst)中的最小值。 但当我这样做的时候: 我的和以前一样是空的(我甚至尝试使用): 你可以去游乐场看看。那么为什么我不能复制一个切片呢?