[英]Is their a way to use pointers to append items to golang array from inside a struct or function
我正在开发一个名为Box 的开源个人项目。 我目前正在努力让添加更多盒子变得更容易,无论是为我自己还是为他人。 我在 box/boxes.go 中有一个函数,它返回一个包含所有不同框名称的数组。 我想知道是否可以使用指针或其他一些工具来将元素添加到数组中,而不必知道这些元素是否存在。 例如,您编写了一个第三方框,它会在您安装或运行时将自身添加到框列表中。 我正在考虑使用初始化函数,但我不确定如何实现它。 任何帮助将不胜感激。
盒子/boxes.go
package boxes
var Boxes []string
func GetBoxes() *[]string {
return &Boxes
}
在这种情况下,框只是字符串。
可以说我有
// SomeFile.go
package new_box
import boxes_package
func AddBox() {
allBoxes := GetBoxes() // returns a pointer
// do some stuff and add "some box" to Boxes from boxes/boxes.go
}
我试过了
func AddBox() {
boxes := GetBoxes()
*boxes = append(*boxes, "some box")
}
它有效,但我需要在某个地方调用它
回答
package boxes
var Boxes []string
func GetBoxes() *[]string {
return &Boxes
}
func AddBox(name string) bool {
Boxes = append(Boxes, name)
return true
}
然后我在 SomeFile.go 中调用了 AddBox
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.