首页 >后端开发 >Golang >如何在 Go 中实现可调整大小的数组?

如何在 Go 中实现可调整大小的数组?

Susan Sarandon
Susan Sarandon原创
2024-12-22 00:02:00650浏览

How Do I Implement Resizable Arrays in Go?

在 Go 中实现可调整大小的数组

作为过渡到 Go 的 C 开发人员,您可能习惯于使用 std::vector 类动态数组。在 Go 中,可以使用可追加的切片数据结构来实现类似的功能。

标准方法

要创建结构体的动态数组,您可以定义结构体类型然后使用切片来存储结构体的实例。切片的大小是动态调整的,允许您在运行时添加或删除元素。

示例代码片段

type myStruct struct {
    b int
    c string
}

func main() {
    // Create an empty slice of myStruct
    a := []myStruct{}

    // Append elements to the slice
    a = append(a, myStruct{1, "hello"})
    a = append(a, myStruct{2, "world"})

    // Iterate over and print the slice
    for _, v := range a {
        fmt.Println(v)
    }
}

关键函数:append()

append() 函数是 Go 中处理切片的核心。它采用切片作为其第一个参数,并将一个或多个元素作为其其余参数。它将指定的元素附加到切片并返回带有附加元素的新切片。

进一步阅读

有关切片和append()函数的更多详细信息,参考Go规范:https://go.dev/ref/spec#Appending_and_copying_slices

以上是如何在 Go 中实现可调整大小的数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn