小白debug
小白debug
全部文章
面试题
题解(20)
归档
标签
去牛客网
登录
/
注册
golang小白成长记
全部文章
/ 面试题
(共11篇)
昨天那个在for循环里append元素的同事,今天还在么?
昨天那个在for循环里append元素的同事,今天还在么? 问题 package main import "fmt" func main() { s := []int{1,2,3,4,5} for _, v:=range s { s =appe...
字符串
golang
go
数组
内存
编程
后端
面试题
2020-09-23
0
477
golang面试官:for select时,如果通道已经关闭会怎么样?如果select中只有一个case呢?
golang面试官:for select时,如果通道已经关闭会怎么样?如果select中只有一个case呢? 问题 for循环select时,如果通道已经关闭会怎么样?如果select中的case只有一个,又会怎么样? 怎么答 for循环select时,如果其中一个case通道已经关闭,则每次都会...
字符串
golang
go
内存
后端
面试题
2020-07-14
1
675
golang面试题:对已经关闭的的chan进行读写,会怎么样?为什么?
问题 对已经关闭的的chan进行读写,会怎么样?为什么? 怎么答 读已经关闭的chan能一直读到东西,但是读到的内容根据通道内关闭前是否有元素而不同。 如果chan关闭前,buffer内有元素还未读,会正确读到chan内的值,且返回的第二个bool值(是否读成功)为true。 如果chan关闭前,...
字符串
golang
go
内存
后端
面试题
2020-06-25
0
702
golang面试题:reflect(反射包)如何获取字段tag?为什么json包不能导出私有变量的tag?
问题 json包里使用的时候,会结构体里的字段边上加tag,有没有什么办法可以获取到这个tag的内容呢? 举例 tag信息可以通过反射(reflect包)内的方法获取,通过一个例子加深理解。 package main import ( "fmt" "r...
golang
go
后端
面试题
2020-06-15
0
690
golang面试题:json包变量不加tag会怎么样?
问题 json包里使用的时候,结构体里的变量不加tag能不能正常转成json里的字段? 怎么答 如果变量首字母小写,则为private。无论如何不能转,因为取不到反射信息。 如果变量首字母大写,则为public。 不加tag,可以正常转为json里的字段,json内字段名跟结构体内字段原名一致...
golang
go
后端
面试题
2020-06-14
0
528
golang面试题:怎么避免内存逃逸?
问题 怎么避免内存逃逸? 怎么答 在runtime/stubs.go:133有个函数叫noescape。noescape可以在逃逸分析中隐藏一个指针。让这个指针在逃逸分析中不会被检测为逃逸。 // noescape hides a pointer from escape analysis. no...
golang
go
后端
面试题
2020-06-08
0
1081
高频golang面试题:简单聊聊内存逃逸?
问题 知道golang的内存逃逸吗?什么情况下会发生内存逃逸? 怎么答 golang程序变量会携带有一组校验数据,用来证明它的整个生命周期是否在运行时完全可知。如果变量通过了这些校验,它就可以在栈上分配。否则就说它 逃逸 了,必须在堆上分配。 能引起变量逃逸到堆上的典型情况: 在方法内把局部变量指...
golang
go
后端
面试题
2020-06-03
0
685
golang面试题:能说说uintptr和unsafe.Pointer的区别吗?
问题 能说说uintptr和unsafe.Pointer的区别吗? 怎么答 unsafe.Pointer只是单纯的通用指针类型,用于转换不同类型指针,它不可以参与指针运算; 而uintptr是用于指针运算的,GC 不把 uintptr 当指针,也就是说 uintptr 无法持有对象, uintpt...
golang
后端
面试题
2020-06-02
0
579
golang面试题:拷贝大切片一定比小切片代价大吗?
问题 拷贝大切片一定比小切片代价大吗? 怎么答 并不是,所有切片的大小相同;三个字段(一个 uintptr,两个int)。切片中的第一个字是指向切片底层数组的指针,这是切片的存储空间,第二个字段是切片的长度,第三个字段是容量。将一个 slice 变量分配给另一个变量只会复制三个机器字。所以 拷贝大切...
golang
后端
面试题
2020-06-01
0
480
高频golang面试题:字符串转成byte数组,会发生内存拷贝吗?
问题 字符串转成byte数组,会发生内存拷贝吗? 怎么答 字符串转成切片,会产生拷贝。严格来说,只要是发生类型强转都会发生内存拷贝。那么问题来了。频繁的内存拷贝操作听起来对性能不大友好。有没有什么办法可以在字符串转成切片的时候不用发生拷贝呢? 代码实现 package main import ...
字符串
golang
面试题
2020-05-31
0
704
首页
上一页
1
2
下一页
末页