Go
让 开
这个作者很懒,什么都没留下…
展开
-
Go new和make的区别
make 函数会返回这三种类型的初始化值,而不是其零值或零值的指针。也就是说,当你 make 一个切片时,它将创建一个具有给定参数的切片,并返回一个可以立即使用的切片,而不是切片的指针。总结一下,new 和 make 的主要区别在于它们分别应用于值类型和复合数据类型,同时 make 会初始化类型,而 new 返回的是类型的零值。在 Go 语言中,new 和 make 都是用于内存分配的内置函数,但他们的用途和行为略有不同。用来为一个值类型分配内存,并且将分配的内存初始化为 0 值,然后返回指向它的指针。原创 2024-03-15 16:23:30 · 177 阅读 · 1 评论 -
Go nil切片和空切片的区别
但是,与空切片相比,nil 切片在做 append() 操作时有一个重要的区别,那就是当 nil 切片通过 append() 函数追加元素后,它就会产生一个长度和容量都为1的新切片。空切片的 len() 和 cap() 都返回 0,这同 nil 切片相同。特别的是,对于一个空切片,即使紧接着进行 append() 操作,其地址也不会发生改变,因为切片在创建时就已经预分配了一定的内存空间。在Go语言中,nil 切片和空切片是两种不同的空状态,它们之间具有一些重要的区别。原创 2024-03-12 18:17:15 · 391 阅读 · 0 评论 -
Goroutine和线程的区别
简单来说,Goroutines对资源的使用极其高效,使得开发者能在Go程序中轻松实现高并发。而线程则需要更多的系统资源,开发者需要仔细管理以防止程序性能下降。Goroutines 更加轻量级、易用、高效。Goroutine和线程都是多线程编程的概念,但它们在实现和性能上有一些核心区别。原创 2024-03-13 09:43:41 · 569 阅读 · 0 评论