IT书架 本次搜索耗时 2.073 秒,为您找到 1106 个相关结果.
  • 14.向为nil的channel发送数据会怎么样

    4122 2024-01-16 《Golang面试题》
    向为nil的channel发送数据会怎么样 向为nil的channel发送数据会怎么样 答案1: 空通道即无缓冲通道。无缓冲通道上的发送操作将会阻塞,直到另一个goroutine在对应的通道上执行接收操作,这时值传送完成,两个goroutine都可以继续执行。相反,如果接收操作先执行,接收方gorountine将阻塞,直到另一个goroutine在...
  • 使用标准库

    一、避免重复造轮子 二、总结 一、避免重复造轮子 官方提供了很多库给我们用,是封装好的轮子,比如包 fmt ,我们多次使用它来打印数据。 我们可以查看到其里面的实现: package fmt func Println ( a ... interface {}) ( n int , err error ) { ...
  • 21.goroutine协程与线程的区别?

    3998 2024-01-16 《Golang面试题》
    goroutine与线程的区别? goroutine与线程的区别? 答案1: 一个线程可以有多个协程 线程、进程都是同步机制,而协程是异步 协程可以保留上一次调用时的状态,当过程重入时,相当于进入了上一次的调用状态 协程是需要线程来承载运行的,所以协程并不能取代线程,线程是被分割的CPU资源,协程是组织好的代码流程
  • 45.go 的切片扩容机制

    3962 2024-01-16 《Golang面试题》
    go 的切片扩容机制 Go 1.18版本之前 Go 1.18版本切片扩容 go 的切片扩容机制 **题目来源:**小米 Go 1.18版本之前 答案1: 扩容是为切片分配新的内存空间并复制原切片中元素的过程。在 go 语言的切片中,扩容的过程是:估计大致容量 -> 确定容量 -> 覆盖原切片 -> 完成扩容。先确定新的切片大致容量...
  • 37.协程goroutine

    3949 2024-01-16 《Golang面试题》
    协程goroutine 协程goroutine **题目来源:**深信服 答案1: 协程是一种用户态的轻量级线程,协程的调度完全由用户控制(进程和线程都是由cpu 内核进行调度)。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,直接操作栈则基本没有内...
  • 63.golang gmp模型,全局队列中的G会不会饥饿,为什么?P的数量是多少?能修改吗?M的数量

    3861 2024-01-17 《Golang面试题》
    golang gmp模型,全局队列中的G会不会饥饿,为什么?P的数量是多少?能修改吗?M的数量是多少? golang gmp模型,全局队列中的G会不会饥饿,为什么?P的数量是多少?能修改吗?M的数量是多少? **题目来源:**哔哩哔哩 答案1: 全局队列中的G不会饥饿。 因为线程想运行任务就得获取P,从P的本地队列获取G,P队列为空...
  • 二叉查找树

    一、添加元素 # 二、查找最大值或最小值的元素 三、查找指定元素 四、查找指定元素的父亲 五、删除元素 六、中序遍历(实现排序) 七、完整代码 八、总结 二叉查找树,又叫二叉排序树,二叉搜索树,是一种有特定规则的二叉树,定义如下: 它是一棵二叉树,或者是空树。 左子树所有节点的值都小于它的根节点,右子树所有节点的值都大于它的根节点。 左...
  • 26.为什么不要大量使用goroutine

    3767 2024-01-16 《Golang面试题》
    为什么不要大量使用goroutine 为什么不要大量使用goroutine 题目来源:网易 答案1: 大量创建goroutine,势必会消耗大量的系统资源(如内存、CPU等),从而可能导致系统崩溃。避免不必要的麻烦,应该合理创建goroutine的数量。
  • 232.谈谈go语言和其他语言的区别

    3756 2024-01-18 《Golang面试题》
    谈谈go语言和其他语言的区别 答案1: 谈谈go语言和其他语言的区别 参考解析 题目来源 :小米 答案1: 主要有以下9点区别: Go 总是在构建中包含二进制文件 Go 没有针对程序依赖的集中托管服务 Go 是按值调用的 ‘defer’ 关键字 Go 采用了函数式编程的最佳特性 Go 有隐式接口 错误处理 并发 Go标准库 Go...
  • 列表

    一、列表 List 二、实现双端列表 2.1.列表节点普通操作 2.2.从头部开始某个位置前插入新节点 2.3.从尾部开始某个位置后插入新节点 2.4.从头部开始某个位置获取列表节点 2.5.从尾部开始某个位置获取列表节点 2.6.从头部开始移除并返回某个位置的节点 2.7.从尾部开始移除并返回某个位置的节点 2.8.完整例子 一、...