gpt4 book ai didi

go - Golang填充功能无法正常工作

转载 作者:行者123 更新时间:2023-12-01 22:38:59 26 4
gpt4 key购买 nike

我正在尝试向 slice 添加内容,但是以某种方式从未更新 slice 。

endpointsList := make([]string, 3)

for _, route := range routes {
if len(route.Endpoints) > 0 {
waitGroup.Add(1)
go endpointRoutine(route, template, route.Protected, &waitGroup, &endpointsList)
}
}
我通过引用传递了endpointsList,这意味着我应该能够向其内存位置分配新的东西。
在函数endpointRoutine中,我这样做:
list := make([]string, 3)

for _, r := range route.Endpoints {
list = append(list, "some data comes here...")
}

endpointsList = &list
当我在此之后(在我的第一部分代码之后,在waitGroup.Wait()部分之后)进行打印机操作时, slice 仍为空。
显然,我现在正在覆盖 slice ,而我的最终目标是添加到 slice 中。但是当我尝试添加以下代码时:
endpointsList = append(endpointsList, "fdssdfsdfsdf")
它给了我错误:

不能使用endpointsList(类型* []字符串)作为[]类型

有人可以告诉我什么地方可能出问题吗?

最佳答案

使用endpointsList = &list,您可以将指向该 slice 的指针分配给其他某个 slice 。要设置 slice ,请执行以下操作:

*endpointsList=list

关于go - Golang填充功能无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64106079/

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