go实现各种数据结构
时间: 2023-11-26 13:06:33 浏览: 33
在Go中,可以使用结构体和方法来实现各种数据结构。以下是一些常见数据结构的Go实现示例:
1. 数组(Array):Go中的数组是一个固定长度的序列,可以通过索引访问元素。例如:
```go
package main
import "fmt"
func main() {
arr := [5]int{1, 2, 3, 4, 5}
fmt.Println(arr = true
}
func (s *Set) Remove(item interface{}) {
delete(s.m, item)
}
func (s *Set) Contains(item interface{}) bool {
_, ok := s.m[item]
return ok
}
func main() {
set := NewSet()
set.Add(1)
set.Add(2)
set.Add(3)
fmt.Println(set.Contains(2)) // 输出: true
}
```
4. 树(Tree):可以使用结构体和指针来构建树。以下是一个二叉树的示例:
```go
package main
import "fmt"
type Node struct {
value int
left, right *Node
}
func main() {
root := &Node{value: 1}
root.left = &Node{value: 2}
root.right = &Node{value: 3}
fmt.Println(root.value) // 输出: 1
fmt.Println(root.left.value) // 输出: 2
}
```
以上只是示例中的一些数据结构的Go实现,实际上在Go中还有更多的数据结构实现方式,具体取决于你的需求和使用场景。希望这些示例可以帮助你理解如何在Go中实现各种数据结构。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Go基础:数据结构(定义和go语言实现)](https://blog.csdn.net/weixin_46618592/article/details/129595617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]