未正确使用 goroutine 和通道:例如,启动了大量的 goroutine 但没有正确的退出机制,或者在通道中发送数据但没有接收方,可能会导致内存占用不断增加。 长时间阻塞的 goroutine:如果一个 goroutine 因为某些原因(如等待一个永远不会到来的条件)而长时间阻塞,并且它占用了大量的资源,也可能导致内存泄漏。 3、怎么通过...
02 为什么有协程泄露(Goroutine Leak)? 03 Go 可以限制运行时操作系统线程的数量吗? 常见的goroutine操作函数有哪些? 04 如何控制协程数目。 面试题2 new和make的区别? 请你讲一下Go面向对象是如何实现的? uint型变量值分别为 1,2,它们相减的结果是多少? 讲一下go有没有函数在main之前执行?怎么用? 下面...
Go常见面试题【由浅入深】2022版 Go语言相比C++/Java等语言是优雅且简洁的,是笔者最喜爱的编程语言之一,它既保留了C++的高性能,又可以像Java,Python优雅的调用三方库和管理项目,同时还有接口,自动垃圾回收和goroutine等让人拍案叫绝的设计。 有许多基于Go的优秀项目。Docker,Kubernetes,etcd,deis,flynn,lime,revel等...
Go-常见的面试题(一) 文章转载地址:https://juejin.im/entry/5971bed66fb9a06bb21adf15 1、写出下面代码的输出 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package main import "fmt" func main() { defer_all() panic("触发异常") } func defer_all() { defer func() { ...
Go 常见算法面试题篇(一):反转单链表 上周周末有人和我交流反转单链表的实现代码,正好我也要写常见算法面试题系列,就着这个机会开始这个系列,和数据结构和算法系列并行,以便学以致用。 题目 那就从反转单链表开始吧,这个题目来自《剑指 Offer》这本书,原题如下:...
Go是一种开源的编程语言,由Google开发。它是一种静态类型、编译型语言,具有高效、简洁、安全、并发等特点。 Go语言的并发模型是什么?如何使用goroutine和channel实现并发? Go语言的并发模型是基于goroutine和channel实现的。goroutine是一种轻量级线程,可以在一个进程中同时运行多个goroutine,从而实现并发。channel是gorou...
delete.go 定义结点删除方法: //在o(1)时间内删除单链表结点 //author:学院君 package main import ( "errors" "fmt" ) //删除指定单链表节点 func (head*node) delete (node*node) error { if head== nil ||node== nil { re...
Go 常见算法面试题篇(三):高效调整数组数值顺序 题目 今天来看一个考察程序员基本功的数组面试题,看起来仍然很简单,不过通过这个题目的不同解法,可以快速检验你是初级程序员还是资深程序员,一起来看下吧: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的...
答:反射(reflection)是指在程序运行时动态地获取对象的类型信息,并可以在运行时修改对象的值、类型和属性。在Go语言中,反射是通过reflect包实现的。 反射的作用主要有以下几点: 动态地获取对象的类型信息。 动态地获取和设置对象的属性值。 在运行时动态地调用对象的方法。