- 博客(4)
- 收藏
- 关注
原创 Go new和make的区别
make 函数会返回这三种类型的初始化值,而不是其零值或零值的指针。也就是说,当你 make 一个切片时,它将创建一个具有给定参数的切片,并返回一个可以立即使用的切片,而不是切片的指针。总结一下,new 和 make 的主要区别在于它们分别应用于值类型和复合数据类型,同时 make 会初始化类型,而 new 返回的是类型的零值。在 Go 语言中,new 和 make 都是用于内存分配的内置函数,但他们的用途和行为略有不同。用来为一个值类型分配内存,并且将分配的内存初始化为 0 值,然后返回指向它的指针。
2024-03-15 16:23:30
183
1
原创 Goroutine和线程的区别
简单来说,Goroutines对资源的使用极其高效,使得开发者能在Go程序中轻松实现高并发。而线程则需要更多的系统资源,开发者需要仔细管理以防止程序性能下降。Goroutines 更加轻量级、易用、高效。Goroutine和线程都是多线程编程的概念,但它们在实现和性能上有一些核心区别。
2024-03-13 09:43:41
587
原创 Go nil切片和空切片的区别
但是,与空切片相比,nil 切片在做 append() 操作时有一个重要的区别,那就是当 nil 切片通过 append() 函数追加元素后,它就会产生一个长度和容量都为1的新切片。空切片的 len() 和 cap() 都返回 0,这同 nil 切片相同。特别的是,对于一个空切片,即使紧接着进行 append() 操作,其地址也不会发生改变,因为切片在创建时就已经预分配了一定的内存空间。在Go语言中,nil 切片和空切片是两种不同的空状态,它们之间具有一些重要的区别。
2024-03-12 18:17:15
404
原创 QT 监听键盘按键
QT 监听键盘快捷键qt开发pc应用过程中,要求支持上下、左右快捷键翻页。qt本身已经实现了键盘事件的监听void QWidget::keyPressEvent(QKeyEvent *event) //键盘按下事件void QWidget::keyReleaseEvent(QKeyEvent *event) //键盘松开事件首先需要在构造函数中添加this->releaseKeyboard();如果没有添加可能会遇到,事件监听不到的问题;最初我是使用的this->grabKe
2021-01-16 15:22:16
4051
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人