gpt4 book ai didi

arrays - 有没有更好的方法来处理可变大小的 slice ?

转载 作者:IT王子 更新时间:2023-10-29 00:37:02 25 4
gpt4 key购买 nike

请看下面的代码

names := make([]string, 0, 100)
names = append(names, "Jack")
names = append(names, "Jacob")
// adding many names in here

鉴于这样的情况:我将从其他地方获取这些名称,在此之前我不知道它的大小。所以我需要一个动态数组来包含这些名称。上面的代码是我想出的方法。我想知道是否有更优雅的方法来做到这一点。

如果我这样初始化

names := make([]string, 100, 200)
// then I use append in here
// I would get first 100 elements as empty, the append start at index 101.

我想这会浪费内存。我是静态编程语言的新手,所以如果这篇文章中有任何错误的概念,请指出。

最佳答案

只需声明类型,然后将附加的 slice 分配给它:

package main

import "fmt"

func main() {
var names []string
names = append(names, "foo")
names = append(names, "bar")
fmt.Println(names)
}

产量:

>> [foo bar]

如果您对它的机制感兴趣,这里有一个不错的 blog post .

关于arrays - 有没有更好的方法来处理可变大小的 slice ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25867086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com