go使用中遇到的问题

本文阅读 2 分钟
首页 golang 正文

题目序号:852

题目来源:小米

频次:

答案1:(J_r_白)

1.如短变量声明不能用于包级变量。变量遮蔽(variable shadowing)等。接口返回值与nil比较。

2.接口类型在运行时的表示分为两部分,一部分是类型信息,一部分是值信息。只有当接口类型变量的这两部分的值都为nil时,该变量才与nil相等

3.for range中多次使用相同迭代变量需要注意重新初始化。切片副本,map无序性等。

4.string字符串长度并不等于该字符串中的字符个数。在Go中string类型是不可改变的,我们无法改变其中的数据内容。那些尝试将string转换为切片再修改的方案其实修改的都是切片自身,原始string的数据并未发生改变。

5.goroutine。在没有外部结构支撑的情况下,Go原生并不支持获取某个goroutine的退出状态。(借助channel等)。任何一个goroutine出现panic,如果没有及时捕获,那么整个程序都将退出。只能采用防御型代码,即在每个goroutine的启动函数中加上对panic的捕获逻辑。

本文来自投稿,不代表本站立场,如若转载,请注明出处:
syncpool的实现原理
« 上一篇 09-17
问了sync.Map(我说我对sync.Pool比较熟,就说Pool了)
下一篇 » 09-17

发表评论

发表评论