题目序号: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的捕获逻辑。
本文来自投稿,不代表本站立场,如若转载,请注明出处: