此篇为微信群go每日一题问题及答案收录
不间断更新
20200923
1 | 问:Go语言的共享并发机制有几种实现方式,分别是什么?并说一下各自的区别? |
1 | 答:Go语言的共享并发机制实现方式有两种,分别是sync.Mutex和sync.RWMutex,二者的区别是前者是互斥锁,后者是共享锁。 |
20200922
1 | 问:type person struct{ |
1 | 答:在Go语言中,指向切片的指针和指向数组的指针,Go语言提供了自动解引用的特性。所以题目中的两个语句读取指针切片的字段是没有区别的,不带解引用符号(*)的方式更便捷一些。 |
20200921
1 | 问:如果多种潜入类型都实现了同名的方法,那么Go编译器会报错吗? |
1 | 答:如果多个嵌入类型具有同名方法,并且这些方法被程序调用了,那么Go语言将提示命名冲突。 |
20200920
1 | 问:数组和切片在被赋值或者被传递至函数时,两者有什么不同之处? |
1 | 答:数组会产生相应的副本,切片将与新变量共享相同的底层数据。 |
20200918
1 | 问:var data chan interface{} |
1 | 答:不可以直接使用。 |
20200917
1 | 问:请说出两个能够将整数转换为字符串的函数,和一个能够将字符串转换为整数的函数。 |
1 | 答:整数转换为字符串的函数:strconv.Itoa()和fmt.Sprintf() |
20200915
1 | 问:Go语言中,每个goroutine占用多少内存,GC会不会回收被丢弃的goroutine? |
1 | 答:Go语言中,每个goroutine占用几千字节内存,GC不会回收被丢弃的goroutine,而是一直存在,直到进程退出。 |
20200913
1 | 问:存储一个uint8类型的值需要用多少字节? |
1 | 答:1字节 |
20200912
1 | 问: 一个float32类型的单精度浮点数需要占用多少字节内存? |
1 | 答:4个字节 |