golang开发用什么框架
题目来源:百度答案:小禾先生golang框架图示Web框架gingin是一个知名且简约的Golang Web应用框架。该框架拥有各种开发所需的库合功能。许...
Go 语言协程怎么跑的
题目来源:字节跳动答案:小禾先生设计原理今天的 Go 语言调度器有着优异的性能,但是如果我们回头看 Go 语言的 0.x 版本的调度器会发现最初的调度器不...
Go创建协程的过程
题目来源:虾皮答案:小禾先生想要启动一个新的 Goroutine 来执行任务时,我们需要使用 Go 语言的 go 关键字,编译器会通过 cmd/compi...
协程共享哪些资源?
题目序号:342题目来源:频次:1答案:陆地上的鱼协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先...
用go协程的时候也是要走IO的,go是如何处理的?
题目来源:滴滴 频次:1答案:peace线程是操作系统的内核对象,多线程编程时,如果线程数过多,就会导致频繁的上下文切换,这些 cpu 时间是一个额外的耗...
如何限制 goroutine 并发数量 (channel 或 WaitGroup)
答案:限制 goroutine 并发数量有两种办法:使用channel通道WaitGroupchanel 实现 goroutine 并发数量限制 在每次...
使用 database/sql 和 使用 gorm 的区别
答案:Go操作Mysql数据库,一般有两种方式:通过 database/sql 接口通过 GORM 对象关系映射使用 database/sql 接口Go没...
golang 断言
答案:golang 断言是作用在接口上的。go 作为一门强类型语言,对数据类型有着严格的区分,但所有类型(如 int、slice、map 等)都满足了 i...
使用过哪些 golang 的 String 类库
答案:string.builderGo 语言提供了一个专门操作字符串的库 strings,可以用于字符串查找、替换、比较等。使用 strings.Buil...
Go 并发优秀在哪里,需要通过实际的测试,benchmark等说明
答案:Go中天然的支持并发,Go允许使用go语句开启一个新的运行期线程,即 goroutine,以一个不同的、新创建的goroutine来执行一个函数。同...
虚拟内存有什么作用 (无效,属于操作系统)
答案:虚拟内存就是说,让物理内存扩充成更⼤的逻辑内存,从⽽让程序获得更多的可⽤内存。虚拟内存使⽤部分加载的 技术,让⼀个进程或者资源的某些⻚⾯加载进内存...
Go中struct组合与Java继承的区别
答案:两者都是在编译期实现的。 Go语言的继承通过匿名组合完成:基类以Struct的方式定义,子类只需要把基类作为成员放在子类的定义中,支持多继承。Ja...
一个a+b程序从编译到运行都发生了什么(从预编译到print显示到屏幕上)
答案:简要来说,整个流程如下:源码 --> 编译 --> 链接 --> 可执行文件 --> 执行输出Golang为编译型语言,需要...
写个channel相关的题,并发模型,爬虫url,控制并发量
题目来源:好未来答案:T参考:https://cloud.tencent.com/developer/article/1820718package mai...
如何通过goclient写代码获取
题目来源:好未来答案:T详细可以参考:https://blog.csdn.net/tiechui1994/article/details/10575231...
micro服务发现
题目来源:腾讯答案:ORVRAPImicro api提供了以下HTTP API/[service]/[method] # HTTP paths are d...
micro怎么用
题目来源:腾讯案:ORVRMicro是一个微服务生态系统。目标是简化分布式系统开发。提供的主要软件是Micro,一个微服务工具包。该工具包由以下组件组成:...
如果一个包要依赖另一个包,这个时候如何写单元测试
题目来源:网易答案:ORVRpackage是Go的代码组织的基本单位,一般一个目录就是一个package,目录名就和package名不一定相同,但是引用的...
有没有了解过goroutine的底层数据结构, 为什么协程比线程轻量且快
题目来源:小雨伞保险答案:ORVR底层数据结构G是goroutine的缩写,相当于操作系统中的进程控制块,在这里就是goroutine的控制结构,是对go...
go init 的执行顺序,注意是不按导入规则的(这里是编译时按文件名的顺序执行的)
解答:init函数是用于程序执行前做包的初始化的函数,比如初始化包里的变量等每个包可以拥有多个init函数包的每个源文件也可以拥有多个init函数同一个包...
go语言的时候垃圾回收,写代码的时候如何减少小对象分配
题目来源:腾讯答案:千羽go垃圾回收GC触发条件自动垃圾回收的触发条件有两个:超过内存大小阈值达到定时时间阈值是由一个gcpercent的变量控制的,当新...
Go 的面向对象特性
题目来源:腾讯答案:千羽和其他高级语言一样,golang 也支持面向对象编程,支持得比较简单,比如继承,封装,多态接口接口使用 interface 关键字...
Context 包的实现
题目来源:腾讯答案:千羽Context 定义context 包中实现了多种 Context 对象。Context 是一个接口,用来描述一个程序的上下文。接...
比较 gin 框架和其它框架
题目来源:腾讯答案:千羽ginGo语言编写的HTTP Web框架,它以更好的性能实现了类似Martini的API,性能更好优点封装比较好,API友好,源码...
channel和共享内存有什么优劣势?
答案:呼哈Go的设计思想就是, 不要通过共享内存来通信,而是通过通信来共享内存,前者就是传统的加锁,后者就是Channel。共享内存是在操作内存的同时,通...
go性能分析工具
答案:呼哈pprof(performance profiles) - 性能选项)是Go的性能分析工具,在程序运行过程中,可以记录程序的运行信息,可以是CP...
gmp具体的调度策略
答案:呼哈Go的调度器内部有三个重要的结构,G(代表一个goroutine,它有自己的栈),M(Machine,代表内核级线程),P(Processor(...
实现map的方法除了哈希还有哪些?
答案:呼哈链地址法:解决键冲突(两个或以上数量的键被哈希到了同一个bucket,则键发生了冲突);负载因子:用于衡量一个哈希表冲突情况(负载因子 = 键数...
Go sum里面是什么内容
答案1:1、go sum的意义为了确保一致性构建,Go引入了go.mod文件来标记每个依赖包的版本,在构建过程中go命令会下载go.mod中的依赖包,下载...
Go mod主要解决了什么问题
答案1:项目不在需要放到$GOPATH/src目录下依赖包的版本控制依赖包的版本交由go.mod文件控制。在go.mod用require语句指定包和版本 ...
讲讲go的启动过程
题目来源:知乎答案:苦痛律动参考资料https://juejin.cn/post/6942509882281033764 (第一个流程图来源)https:...
go调度中阻塞都有那些方式
题目来源: 滴滴 频次: 1答案:苦痛律动由于原子、互斥量或通道操作调用导致 Goroutine 阻塞,调度器将把当前阻塞的 Goroutine 切换出去...
map取一个key,然后修改这个值,原map数据的值会不会变化,根据map存储的类型回答
答案:map是引用类型的, map取一个key,然后修改这个值,原map数据的值也会变化。元素value类型为int , string // 初始化...
sync包中的同步原语和channel的使用场景
题目来源:七牛参考《GO 语言并发之道》参考 http://www.zzvips.com/article/183814.htmlGo 语言中的channe...
channel 底层
题目来源:七牛答案:T参考《Go 语言底层原理剖析》Go 语言的理念是通过通信来实现共享内存。Go 的CSP,通信顺序进程,是通过goroutine和ch...
PHP和 Go 对比
题目来源:金山WPS答案:T参考文章:https://m.php.cn/article/418015.html1、Go基本上是一种可用于快速机器代码编译的...
go和node的区别
题目来源:好未来频次:1答案:peace从以下几个方面来看:1、性能区别由于Node.js基于JavsScript,因此解释语言通常比编译语言慢。但在现实...
chan的阻塞和非阻塞?
题目来源:京东答案:古尔班通管道(chan)是Go在语言层面提供的协程间通信机制,比UNIX管道更易用也更轻便。chan可以使用内置函数make()创建无...
是否写过go语言多协程内容
题目来源:米哈游作者:ORVR是否写过go语言多协程内容协程池用法简单举例var ( ctx = gctx.New() ) func main(...
channel的应用场景
题目来源:斗鱼答案:flare应用场景:消息传递任务分发并发控制同步(无缓冲channel)异步(有缓冲channel)面向对象封装性struct继承性匿...
开俩个协程,一个协程生产数据,另一个协程对数据进行处理,处理完后再把数据发回去,使用管道如何实现?
题目来源:京东答案:古尔班通该问题适合使用pipeline模式(pipeline是一系列将数据输入,执行操作并将数据传回的系统,我们称这些操作都是pipe...
Go一般怎么取map?
题目来源:京东答案:古尔班通Go语言的map底层使用Hash表实现,map分别支持字面量初始化和内置函数make()初始化。获取map中不存在键的值不会发...
已加贵站~
name: 技研录
link: https://linmohan.fun/
avatar: https://linmohan.fun/img/favicon.png
descr: 「代码重构世界,逻辑解构真理」