GO语言相关的几个问题

​  我们平时学完一门编程语言,需要检测一下是否已经全面掌握了,这是我学习完GO之后觉得比较重要或容易出错的地方,各位初学者可参考一下,查漏补缺。

1. 源码文件声明的代码包的名称与其所在的目录的名称不同,生成的结果文件以谁为准?

 

2. type IZ int  

type IZ = int

上述两种定义的区别?

 

3. stra := "i招"

获取字符个数的函数?

 

4. go如何实现继承?

没有继承。如果觉得有,参考官方文档:https://golang.org/doc/faq#inheritance

 

5. 以下代码输出什么?

package main import "fmt"func main() {  for i := 0; i < 10; i++ {    go func() {      fmt.Println(i)    }()  }}

 

 

6. 以下生产者代码片段是否有问题?sendCond.Wait()内部操作有哪些?

var lock sync.RWMutexsendCond := sync.NewCond(&lock)lock.Lock()if resourceNum == 1 { sendCond.Wait()}resourceNum = 1lock.Unlock()recvCond.Signal()

 

 

7. context包的应用场景有哪些?

 

8. sync.Pool类型的应用场景有哪些?是否可用做连接池?

 

9. go程序什么情况下会发生内存泄漏?

 

10. 如何实现goroutine的完美退出?

 

11. Go语言对测试函数的名称和签名都有哪些规定?

 

12. 性能分析pprof采集数据的方式有哪些?

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值