首页
发现
标签
搜索
注册
登录
首页
发现
榜单
搜索
ChatGPT
注册
登录
搜索
IT书架
本次搜索耗时
0.120
秒,为您找到
1075
个相关结果.
搜书籍
搜文档
249.Go的多线程
132
2024-01-18
《Golang面试题》
Go的多线程 答案: Go的多线程 参考解析 题目来源:字节跳动 答案: Go的多线程编程采用的是协程,也可以看作是用户态线程
313.GO语言中的协程与Python中的协程的区别?
132
2024-01-22
《Golang面试题》
GO语言中的协程与Python中的协程的区别? GO语言中的协程与Python中的协程的区别? 题目来源:字节 python协程特点 单线程内切换,适用于IO密集型程序中,能够最大化IO多路复用的效果。 没法利用多核。 协程间彻底同步,不会并行。不须要考虑数据安全。 关键词yield go协程特点 协程间须要保证数据安全,好...
535.Go channel有无缓冲的区别?
132
2024-01-25
《Golang面试题》
Go channel有无缓冲的区别? Go channel有无缓冲的区别? 参考解析 无缓冲:一个送信人去你家送信,你不在家他不走,你一定要接下信,他才会走。 有缓冲:一个送信人去你家送信,扔到你家的信箱转身就走,除非你的信箱满了,他必须等信箱有多余空间才会走。 无缓冲 有缓冲 创建方式 make(chan TYPE)...
463.Go 语言是如何实现切片扩容的?
132
2024-01-24
《Golang面试题》
Go 语言是如何实现切片扩容的? Go 语言是如何实现切片扩容的? func main () { arr := make ([] int , 0 ) for i := 0 ; i < 2000 ; i ++ { fmt . Println ( "len为" , len ( arr ), "...
531.Go channel为什么是线程安全的?
132
2024-01-25
《Golang面试题》
Go channel为什么是线程安全的? Go channel为什么是线程安全的? 为什么设计成线程安全? 不同协程通过 channel 进行通信,本身的使用场景就是多线程,为了保证数据的一致性,必须实现线程安全 如何实现线程安全的? channel 的底层实现中, hchan 结构体中采用 Mutex 锁来保证数据读写安全。在对循环数组 ...
284.Go依赖管理历史有几次方式
132
2024-01-19
《Golang面试题》
Go依赖管理历史有几次方式 答案: Go依赖管理历史有几次方式 参考解析 题目来源:百度 答案: GOPATH:在最出的设计中,没有考虑到版本控制,因此作为依赖根据GOPATH目录。 GO vendor:在有了go module 这个概念之后,最初的版本使用 go vendor 作为依赖,但不能有效版本控制 GO tidy: go...
261.Go有哪些数据结构
132
2024-01-19
《Golang面试题》
Go有哪些数据结构 Go有哪些数据结构 Method Boolean Numeric String Array Slice Struct Pointer Function Interface Map Channel
356.go的反射
131
2024-01-22
《Golang面试题》
go的反射 go的反射 参考解析 题目来源:疯狂猜图 答案: Go语言中的反射是由 reflect 包提供支持的,它定义了两个重要的类型 Type 和 Value 任意接口值在反射中都可以理解为由 reflect.Type 和 reflect.Value 两部分组成,并且 reflect 包提供了 reflect.TypeOf 和 ref...
354.简单介绍一下go的内存分配机制?有mcentral为啥要mcache?
131
2024-01-22
《Golang面试题》
简单介绍一下go的内存分配机制?有mcentral为啥要mcache? 简单介绍一下go的内存分配机制?有mcentral为啥要mcache? 参考解析 题目来源:知乎 答案: Go 的内存分配借鉴了 Google 的 TCMalloc 分配算法,其核心思想是内存池 + 多级对象管理。内存池主要是预先分配内存,减少向系统申请的频率;多级对...
511.Go方法值接收者和指针接收者的区别?
131
2024-01-25
《Golang面试题》
Go方法值接收者和指针接收者的区别? Go方法值接收者和指针接收者的区别? 如果方法的接收者是指针类型,无论调用者是对象还是对象指针,修改的都是对象本身,会影响调用者; 如果方法的接收者是值类型,无论调用者是对象还是对象指针,修改的都是对象的副本,不影响调用者; package main import "fmt" type ...
1..
«
80
81
82
83
»
..100