摘要:
在 Go 语言中,Goroutine 是一种轻量级的并发执行单元,可以理解为 Go 的“协程”。 它由 Go 运行时管理,用于执行函数或任务。Goroutine 的轻量级和高效并发特性使 Go 能够轻松处理数千甚至数百万个并发任务,适合构建高并发的服务器和网络应用。 Goroutine 的启动 Go 阅读全文
摘要:
1. 接口类型(Interface Type) 接口类型定义了一组方法的集合,描述了实现该接口的类型所需的行为 它只是一个类型声明,指定了实现接口的类型必须包含哪些方法,而没有实现具体的功能。 在 Go 中,接口类型是通过 type InterfaceName interface {} 语法来定义的 阅读全文
摘要:
在 Go 语言中,nil 是一个预定义标识符,表示“零值”或“空值”,主要用于引用类型(如指针、切片、映射、通道、接口等)。 在 Go 中,引用类型变量在未赋值时的默认值为 nil,表示该变量未指向任何有效的内存地址或资源。 1. nil 的使用场景 nil 可以用于以下几种数据类型: 指针(Poi 阅读全文
摘要:
Go 语言的内存管理采用了自动化的垃圾回收机制(Garbage Collection, GC) 1. 内存分配(Memory Allocation) Go 的内存分配主要有堆(Heap)和栈(Stack)两种方式。不同的内存分配方式会影响内存的生命周期和访问性能。 栈分配:局部变量通常在栈上分配。栈 阅读全文
摘要:
在 Go 语言中,有几种内置集合类型(如 slice、map 和 channel),这些类型的特殊之处在于它们实际上是隐式指针。 这意味着当我们将这些集合类型传递给函数或方法时,传递的是它们的引用,而不是拷贝。 这种特性使得这些集合能够在函数中直接修改原始数据,而不需要显式传递指针。 1. 内置集合 阅读全文