伪代码:
containers := make([]string, len(faces))
for _, face := range faces {
if face == FaceNil {
break
}
containers := append(containers, face)
}
如果这样直接申明10个length的底层数组,那么循环下来,假设face有FaceNil的情况,就会出现切片元素有nil的情况,然后在另外一个地方循环containers变量的时候就需要判断是否有元素为nil,但是make([]string, 0)
的话nil
就不存在,大家遇到这种情况的最佳写法是什么?
第三个是容量,cap. 而且你的containers := append(containers, face). 重新赋值了。